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

Резултати

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

Търсене: #decommissioning

当前筛选 #decommissioning清除筛选

🚢Chouest Group входит в сегмент вывода из эксплуатации офшорных инфраструктур с новым приобретением. Американская Chouest Group объявила о приобретении компании Champagne Energy Solutions, специализирующейся на ликвидации скважин и выводе из эксплуатации офшорной инфраструктуры. Сделка открывает для группы новый сегмент - вывода из эксплуатации офшорных инфраструктур (decommissioning и plug & abandonment), позволяя расширить портфель до полного цикла услуг: от подводных работ до морской логистики. С операционной точки зрения, шаг отражает растущий рынок вывода активов из эксплуатации, который оценивается в миллиарды долларов в ближайшее десятилетие. Компания также планирует дальнейшие приобретения для укрепления позиций. Для отрасли это сигнал усиления вертикальной интеграции в оффшорных услугах, где ключевыми факторами становятся масштаб, компетенции и комплексность решений. 📌Edison Chouest Offshore (Chouest Group) — основана в 1960 году в США, одна из крупнейших частных компаний в сфере морских офшорных услуг, принадлежит семье Шуэст (Chouest). #Offshore#Energy#Decommissioning#Shipping#Oil

🚢Bhagwan Marine выходит в сегмент оффшорных услуг с новым контрактом в Австралии. Австралийская Bhagwan Marine получила контракт от крупного нефтегазового заказчика на демонтаж навигационных буёв и швартовных систем танкеров у острова Barrow (Западная Австралия). Проект рассматривается как вход в более широкий рынок демонтажа и вывода из эксплуатации оффшорных систем в регионе, включая подводные и прибрежные объекты. Компания планирует разработать стандартизированную методологию для подобных работ. С операционной точки зрения, Bhagwan Marine усиливает позиции в сегменте вывода инфраструктуры из эксплуатации, который становится одним из ключевых направлений оффшорной индустрии в Австралии. Для рынка это сигнал роста спроса на специализированные услуги демонтажа и вывода из эксплуатации оффшорных систем, где формируются новые ниши для морских сервисных операторов. 📌Bhagwan Marine Pty Ltd — основана в 2000 году в Австралии, частная компания, специализирующаяся на морских и офшорных услугах; принадлежит основателю Луи Канникоски (Loui Kannikoski). #Offshore#Decommissioning#Shipping#Australia#Energy

🚢Mermaid Subsea продлевает чартерный контракт на судно "Island Valiant" в Северном море. Компания Mermaid Subsea Services (UK) продлила контракт на использование судна "Island Valiant" для операций в Северном море ещё на 12 месяцев. Судно задействовано в проектах по выводу скважин из эксплуатации (P&A) и работах по инспекции, ремонту и обслуживанию (IRM). Судно длиной 93,4 метра, принадлежащее Island Offshore Management, оснащено постоянно установленным ROV-комплексом и системой спуска/подъема (LARS), что позволяет эффективно работать в сложных погодных условиях. На борту предусмотрено размещение до 60 человек. Контракта отражает рост активности в сегменте услуг по выводу скважин из эксплуатации в Северном море. Увеличение числа проектов по выводу из эксплуатации зрелых месторождений формирует устойчивый спрос на специализированный флот. Продление чартера судна на длительный срок подчеркивает важность опытных операторов в условиях усложняющихся офшорных операций, где безопасность и эффективность становятся ключевыми факторами. Таким образом, сегмент подводных услуг демонстрирует стабильный рост, поддерживаемый структурными изменениями в нефтегазовой отрасли. 📌Mermaid Subsea Services (UK) Ltd. — дочерняя компания группы Mermaid Maritime, основанной в 1983 году, публичной компании, базирующейся в Таиланде, принадлежащей институциональным инвесторам. #offshore#subsea#decommissioning#NorthSea#shipping