TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #721 · 26.12

Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev

Hashtags

Резултати

Намерени 2 подобни публикации

Търсене: #warrisks

当前筛选 #warrisks清除筛选

🚢США–Иран: риски для судоходства и последствия для чартеров. Эскалация напряжённости между США и Ираном усиливает правовые и операционные риски для судоходства в Ормузском проливе — ключевом канале, через который проходит около 35% мировой морской торговли нефтью. С февраля фиксируются сообщения о попытках частичного ограничения движения, задержаниях судов и инцидентах с GPS/AIS-глушением и спуфингом. Управление MARAD рекомендовало судам под флагом США избегать иранских территориальных вод и сохранять активные AIS-транспондеры. На фоне роста военного присутствия США в регионе (включая авианосную группу USS Abraham Lincoln) повышается вероятность инцидентов. С точки зрения английского права, возможная блокада или атаки на суда могут активировать положения о «war risks» в чартер-партиях, включая стандартные оговорки BIMCO CONWARTIME и VOYWAR. Даже без формальной блокады угрозы и попытки принудительного захода в территориальные воды могут квалифицироваться как военный риск, что даёт сторонам определённые контрактные права и обязанности. Дополнительный фактор — AIS/GPS-спуфинг. Хотя его квалификация как «war risk» менее однозначна, системные кибер- и радиоэлектронные вмешательства повышают навигационные риски, могут повлечь отклонение маршрутов и увеличение страховых премий. Пролив остаётся открытым, однако совокупность геополитических, правовых и навигационных факторов усиливает неопределённость для фрахтователей, судовладельцев и страховщиков. 📌BIMCO (Baltic and International Maritime Council) — международная судоходная ассоциация, основанная в 1905 году, разрабатывает стандартизированные чартерные формы и оговорки, включая CONWARTIME и VOYWAR. Организация является независимой некоммерческой структурой, финансируемой членами. #Hormuz#WarRisks#Charterparty#MaritimeLaw#ShippingRisk

English Law Report

@enlawreport · Post #1746 · 16.10.2025 г., 03:30

Судья Батчер снова в эфире. После июньского мегапроцесса на $10+ миллиардов, где лизинговые компании воевали со страховщиками за «пропавшие» в России самолёты, суд выдал новый — «послевкусный» — акт: проценты, издержки, разрешения на апелляцию. В сухом остатке — победители и побеждённые остались те же. AerCap, крупнейший лизингодатель в мире, удержал победу против военных рисковиков. Но радость слегка остыла: проценты только простые (не сложные), ставка — US Prime, а не выше. Судья вежливо намекнул, что никто толком не доказал, что AerCap берёт кредиты дешевле «самых надёжных клиентов американских банков», и spreadsheet, которым страховщики пытались снизить ставку, суду показался «слабым». На костах — классическая мясорубка. AerCap получит 65% своих расходов с военных страховщиков, HFW (all risks) — 90%, а Chubb, хоть и пытался откреститься, попал на те же 65%. Платежи «на счёт» — 45–50%. В переводе с лондонского процессуального — «вам, господа, придётся заплатить, и прилично». Апелляцию судья срезал без колебаний. 23 grounds от war risks, 5 от Chubb — всё в мусор. Цитируя Court of Appeal: «trial — это не генеральная репетиция, это премьерный и финальный показ». Суд устал от бесконечных попыток «переиграть по-новой», особенно после 33-дневного суда с экспертами, графиками и взаимными обвинениями. Итог: авиастраховой рынок получил сигнал — суду хватит терпения ровно на один эпизод. Повторов не будет. Все спорили о процентах, ставках, процентах на издержки — но главный процент здесь моральный. Все стороны, включая гигантов с десятками QC, выглядели как ученики, пересдающие один и тот же экзамен. В этом смысле “Russian Aircraft saga” — уже не дело, а эпопея о том, как международное право и страховые политики не рассчитаны на катастрофы геополитики. #EnglishLawReport#CaseSpotlight#AerCap#Chubb#WarRisks#HighCourt#CommercialCourt#Judgment#SkepticalView