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

Резултати

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

Търсене: #save500

当前筛选 #save500清除筛选

🦊 ETHIOPIAN WOLF: THE LAST 500 ብር ተኵላ፡ የመጨረሻዎቹ 500 Beauty so rare, it hurts to watch. 💔 ━━━━━━━━━━━━━━━━ 💔 THE RAREST CANID ON EARTH ብር ተኵላ (Bir Tekula) - "Silver Wolf" Only 500 individuals left. In the entire world. ALL living ONLY in Ethiopia.🇪🇹 If they disappear from Ethiopia - they disappear FOREVER. ━━━━━━━━━━━━━━━━ 🔥 WHAT MAKES THEM SPECIAL 🎨APPEARANCE: • Red-rust coat shimmering in sun • White chest, long elegant legs • Amber eyes, intelligent gaze • Built for high altitude (3,000-4,500m!) 📍HABITAT: • Afro-alpine meadows • "Tundra at equator" (Sanetti Plateau) • Freezing nights, thin air • Extreme conditions 🎯BEHAVIOR: • Hunts giant mole rats • Diurnal (rare for canids!) • Social packs, monogamous pairs • Cooperative breeding ━━━━━━━━━━━━━━━━ 💪 GRACE IN MOTION Watch the video. 🎬 Slow motion reveals perfection: Every step - calculated Every leap - balletic Every landing - акробат's skill At 4,000m altitude where humans struggle... The Ethiopian Wolf THRIVES. "የተራራዎች ባለቤት" (Master of the mountains) ━━━━━━━━━━━━━━━━ 🇪🇹 WHY THIS MATTERS 💚FOR ETHIOPIA: • Symbol of unique biodiversity • National pride • Ecotourism jobs • Part of identity 🌍FOR THE WORLD: • Irreplaceable genetic heritage • Ecosystem health indicator • Reminder: extinction is forever "ብር ተኵላ የኢትዮጵያ ኩራት ነው" (Ethiopian Wolf is Ethiopia's pride) ━━━━━━━━━━━━━━━━ 😢 THE THREATS ❌ Habitat loss (agriculture expansion) ❌ Disease from domestic dogs (rabies - biggest threat!) ❌ Climate change impacts ❌ Genetic bottleneck (small population) But there is HOPE.💚 ━━━━━━━━━━━━━━━━ 💪 CONSERVATION IN ACTION 🛡️WHAT'S BEING DONE: ✅ Ethiopian Wolf Conservation Programme • Vaccination campaigns • Community education • Research & monitoring ✅ National Parks protection • Ranger patrols • Habitat preservation ✅ Community involvement • Local guardians • Tourism benefits shared ✅ International support • Wildlife organizations • Research partnerships ━━━━━━━━━━━━━━━━ 🌟 WHAT YOU CAN DO 💚SPREAD AWARENESS: Share this post - most don't know they exist! 📸RESPONSIBLE TOURISM: Visit Bale/Simien Mountains Support local ecotourism 💰SUPPORT CONSERVATION: Donate to Ethiopian Wolf Conservation Programme 🗣️SPEAK UP: Rare species need advocates "500 ብቻ። እያንዳንዱ አስፈላጊ ነው።" (Only 500. Each one matters.) ━━━━━━━━━━━━━━━━ 💔 WHICH FUTURE? Your grandchildren ask: "What was an Ethiopian Wolf?" You answer: "They used to run..."😢 OR "They still run free - and WE helped save them!"💪🇪🇹 Which future do YOU choose? ━━━━━━━━━━━━━━━━ 🦊 NOT A STATISTIC 500 beating hearts. 500 graceful hunters. 500 reasons to fight. Ethiopia's gift to the world. The world's responsibility to protect. "ብር ተኵላ - የዓለም ውበት" (Ethiopian Wolf - world's beauty) ━━━━━━━━━━━━━━━━ Watch them run. 🎬 Feel their grace. Understand their rarity. Then ACT.💪 Because 500 is not a lot. But it's enough to save. If we start NOW.⏰ ━━━━━━━━━━━━━━━━ 🌍 ETHIOPIA | ЭФИОПИЯ | ኢትዮጵያ 📱@ethiopia telegram #EthiopianWolf#Save500#CriticallyEndangered#BaleMountains#WildlifeConservation#EthiopiaPride#ProtectNature#EndangeredSpecies