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 подобни публикации

Търсене: #humanitariandisaster

当前筛选 #humanitariandisaster清除筛选
郭子健Daniel Kwok Tsz Kin

@tsingyidan · Post #1099 · 06.06.2024 г., 05:08

不忍噤聲! 蘇格蘭流亡港人續辦六四集會,承存真相 6月2日,#八九民運 35周年前夕,於 #愛丁堡 舉行的六四悼念集會接近200人出席。雖然港人忙於生活,但從出席人數足見蘇格蘭港人仍支持屬於港人的 #六四集會 。 會場亦展出多份1989年屠城後愛丁堡本地報章,報章上刊載有關六四事件詳細報導。包括當時英國社會對香港人前途及國籍問題的相關討論。 「The Hong Kong Scots」連續第三年自發舉辦六四悼念活動,團體發起人、香港第六屆葵青區議員 #郭子健 表示,六四屠城是當年國際駭目人道災難。事件發生翌日,世界各地,包括愛丁堡報章均持續報導,並引發了英國社會對香港人前途和國籍問題相關討論。有關六四事件見證人和文獻,對讓新生代認清真相攸關重要。 郭子健續說,歷史不容篡改。不論屬於何種國籍或身份,都不敢忘記這段歷史。縱然維園燭光不再,悼念與燭光已經遍佈世界各地。 成為Patreon會員,免費閱覽活動回顧 https://www.patreon.com/posts/bu-ren-jin-sheng-105631461 #AmnestyInternational#Edinburgh#JensGalschiøt#PillarofShame#TiananmenMassacre#TibetSolidarity#HumanitarianDisaster#光復香港#六四晚會#國殤之柱#國際特赦組織#天安門事件#平反六四#承傳真相#時代革命#毋忘六四#流亡港人#結束一黨專政#蘇格蘭#蘇格蘭港人#遍地開花#釋放政治犯#釋放民運人士#集會自由