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

Резултати

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

Търсене: #earthhour

当前筛选 #earthhour清除筛选
NEA Singapore

@NEASingapore · Post #28 · 28.03.2020 г., 04:00

It's #EarthHour tonight! Don’t forget to turn off all your lights at 8.30pm today. And because we only have one earth, let’s ensure we use our resources wisely. Read more here: earthhour.org #ClimateActionSG

NEA Singapore

@NEASingapore · Post #1012 · 22.03.2025 г., 01:04

Switch off for #EarthHour at 8:30pm! But let's not stop there. Let this yearly reminder inspire us to continue making sustainable choices. Your everyday choices matter more than you might think! Small steps such as adopting energy-saving habits and recycling right can make a difference. Imagine these small acts being amplified by millions worldwide. 🌍💚 #EnergyEfficiency#ReduceReuseRecycle#RecycleRight

NEA Singapore

@NEASingapore · Post #327 · 25.03.2022 г., 09:45

Earth Hour 2022 is happening tomorrow, 26 Mar, at 8:30pm! Don’t forget to switch off your lights with the rest of the world. The iconic act highlights how #EveryActionCounts when it comes to protecting our environment. Check out how you can go beyond the hour to save our planet: www.earthhour.org/take-part/beyond-the-hour #EarthHour#EarthHour2022

БелГИЭ

@state_enterprise_belgie · Post #2541 · 29.03.2025 г., 05:00

⏰ 29 марта - #Час_Земли! 🌎 Традиционно в последнюю субботу первого месяца весны Беларусь присоединяется к международной экологической акции – #Час_Земли! 🇧🇾, в 17-й раз вместе с миллионами людей по всему миру выключим свет на один час, чтобы задуматься о будущем нашей планеты. 🌍 💡 Акция направлена на то, чтобы акцентировать внимание на вопросах климатических изменений, экономии энергии и экологической безопасности. Это не просто формальность, а уникальная возможность внести свой вклад! 💚 ⏰ Присоединяйтесь к #EarthHour: 29 марта с 20:30 до 21:30 выключите освещение и другие не первостепенные электроприборы в знак поддержки ответственного отношения к природе. 🌿 Сделаем нашу планету лучше вместе! #Беларусь#БелГИЭ#Час_Земли#Экология#СохранимПланету#БерегитеПрироду

🌊 Всемирный день воды: общие течения перемен 🌊 Сегодня, когда мы отмечаем Всемирный день воды и готовимся к Часу Земли, стоит вспомнить, что изменение климата не знает границ. Акватории, соединяющие Россию и Великобританию — от Балтийского моря до Арктики — молча свидетельствуют о нашей общей уязвимости. Знаете ли вы, что уровень воды в Мировом океане 📈 растет на 3,7 мм в год? Это угрожает как Санкт-Петербургу, так и Лондону. Таяние арктических льдов одинаково тревожит ученых всего мира. Британцы и россияне оставили богатое научное наследие в области исследования морей. От экспедиций 🚢 Джеймса Кука до работ Степана Макарова — мы вместе создавали принципы современной океанологии. В сегодняшних условиях именно забота о водных ресурсах может стать той платформой, где диалог все еще возможен. Молодые исследователи по обе стороны глобального диалога понимают: защита водных ресурсов — это не политический вопрос, а ❕необходимость для выживания человечества. В 20:30 сегодня миллионы людей по всему миру выключат свет на #EarthHour. Это символический жест, напоминающий, что перед лицом климатического кризиса мы все в одной лодке. 🔗 Узнайте больше о свежых исследованиях, связанных с возможными последствиями изменения климата в Арктике: https://t.me/ecobellona/2028 и https://www.youtube.com/watch?v=Rn-Mk3_ybto&feature=youtu.be #WorldWaterDay#ЧасЗемли#EarthHour#КлиматическиеДействия#ClimateAction