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

Резултати

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

Търсене: #safetyfirst

当前筛选 #safetyfirst清除筛选
BadVolf

@badvolfnews · Post #1091 · 07.10.2023 г., 08:25

🚨🔒 High school in Anne Arundel County, MD on lockdown! Substitute teacher's backpack found with a handgun inside. School immediately secured, students confined to classrooms. Gun handed over to police; belonged to the substitute. Substitute apprehended. No evidence it was in possession of any student. Substitute now banned from working in the district. Kudos to students for handling the situation calmly and following staff directions. Stay informed with the latest news from Fox 5 DC. 📚🔒#SchoolLockdown#SafetyFirst https://www.foxnews.com/us/maryland-high-school-placed-lockdown-after-handgun-found-substitute-teachers-backpack Subscribe to @BadVolfNews

Ethio-Djibouti Railway S.C.

@ethiodjiboutirailway · Post #1742 · 21.03.2024 г., 13:23

Ethio-Djibouti Railway Prioritizes Flood Preparedness at Inaugural flood control Management Meeting March 21, 2024: The Lebu headquarters of the Ethio-Djibouti Railway took a proactive step today by hosting its first flood control management meeting. Led by CEO Dr. Abdi Zenebe, the conference focused on preparedness, prevention, mitigation, and rescue strategies in the event of flooding. Eng. Daniel Hailemichael, Chief Technical Officer, presented clear guidelines on flood management duties and responsibilities, including pre-during-and post-flood inspection procedures. Michael Tefera, Director of Infrastructure and Maintenance, followed with a comprehensive overview of current and future flood control infrastructure, including dams, levees, and channels, along with identifying flood-prone zones. This inaugural meeting, attended by senior management of EDR, marks a significant step towards a robust flood risk mitigation strategy. #FloodPreparedness#SafetyFirst#EthioDjiboutiRailway

ERG Kazakhstan

@ergkaz · Post #397 · 27.03.2025 г., 10:30

❕Пилотный проект по внедрению программы SafeStart стартовал на Актюбинском заводе ферросплавов Система обучения направлена на повышение осведомленности о безопасности и развитие навыков предотвращения травм среди сотрудников. Программа фокусируется на осознанном подходе к безопасности и помогает избежать критических ошибок, часто приводящих к несчастным случаям на производстве. SafeStart не просто обучение, а практическая методика, которая обучает сотрудников распознавать потенциальные угрозы и эффективно реагировать на них. #қауіпсіздікжылы#годбезопасности#erg#safetyfirst 📱ERG Kazakhstan

Auto Life

@revheadcrypto · Post #399 · 28.08.2024 г., 18:33

🚗💨Introducing the World’s Fastest Armored Vehicle: Lucid Air💨🚗 Meet the Lucid Air Sapphire, a stunning 1250-horsepower electric car that’s not just about speed—it’s also built to protect! 🛡️✨ This beast is equipped with composite armor and bulletproof glass, capable of withstanding shots from .44 Magnum handguns (think Desert Eagle!). 🔫💥 For those seeking extra security, optional upgrades can enhance protection against grenades and automatic rifle fire. Priced at $475,000, this armored marvel is nearly double the cost of the standard Air Sapphire. 💰💎 #LucidAir#ArmoredVehicle#ElectricCar#Luxury#SafetyFirst#Innovation#Auto

Auto Life

@revheadcrypto · Post #376 · 22.08.2024 г., 11:19

🚨 Important Recall Alert from BMW! 🚨 Over 720,000 BMW vehicles are being recalled due to a defect that has already caused 18 fires!🔥💔 The issue is linked to an electrical connector near the pump, which can be exposed to liquid, leading to potential short circuits and, in unfortunate circumstances, fire hazards. ⚠️ Affected models include: - Series 2, 3, 4, and 5 - SUVs X1, X3, X4, and X5 - Sports car Z4 If you own one of these models produced between 2012 and 2018, please check with your dealer! Stay safe on the road! 🛣️✨ #BMW#Recall#SafetyFirst#CarSafety#StayInformed#VehicleRecall#BMWCommunity#Auto🚗💨

⚠️🌍Google прислал жителям Аланьи предупреждение о возможном землетрясении🇹🇷 12 ноября в Аланье владельцы смартфонов на Android получили экстренное уведомление от Google об ожидании землетрясения магнитудой 5.6 в акватории Средиземного моря. Оповещение сработало через систему Android Earthquake Alerts System, которая реагирует на сейсмическую активность в режиме реального времени 📡 По данным турецких СМИ: • толчки ожидались в районе Средиземноморского разлома; • эпицентр находился в море, на безопасном расстоянии от жилых кварталов 🌊 • информация вызвала кратковременную тревогу среди жителей и туристов; • серьёзных повреждений и жертв не зарегистрировано🙏 Система Google вновь показала свою эффективность: 📱 смартфоны работают как мини-сейсмографы, фиксируя вибрации и передавая данные в сеть; ⏱ пользователи получают предупреждение за секунды или десятки секунд до возможного толчка — этого достаточно, чтобы выйти на открытую местность. Местные власти напоминают: • сохраняйте спокойствие при таких уведомлениях; • держитесь подальше от зданий и балконов; • соблюдайте инструкции AFAD — турецкого управления по ЧС. Будьте внимательны, особенно в сейсмоактивных регионах. Безопасность всегда важнее всего ❤️‍🩹 #Аланья#Турция#Землетрясение#GoogleAlert#Android#Сейсмика#НовостиАланьи#Средиземноморье#SafetyFirst#EarthquakeAlert#Alanya#TurkeyNews