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

Търсене: #fxxkccp

当前筛选 #fxxkccp清除筛选
文学与革命

@xgunsandroses · Post #13889 · 22.01.2022 г., 11:30

中共在英統戰組識 還記得11月27日發生的倫敦唐人街港人遇襲事件嗎? Post by IG @justitiahk 當日多個英國華人團體在倫敦唐人街舉辦反歧視集會,表面上是宣揚反歧視,實質為中共洗白。有手足亦在同日同地舉行「和你lunch」活動,不過集會結束後,十多名來自主辦方的人士,突然衝向數名在場手足拳打腳踢,甚至用金屬武器施襲,有人被打至頭破血流。 這些中共極權延伸的勢力是何人?我們且看看參與的集會團體: 民權法律中心 (Min Quan Legal Centre) 英國監察組 (The Monitoring Group) 英國福建華僑華人聯合總會(The Federation of UK Fujian Chinese) 倫敦華埠商會 (London Chinatown Chinese Association) 全英華人社團聯合總會(Confederations of Chinese Association UK) 全英中國學生學者聯誼會 (Chinese Students and Scholars Association UK) 英國北京聯合會 (UK Beijing Association) 英國福建同鄉聯誼總會 (UK Fujianese Association) 劍橋中國中心 (Cambridge Chinese Community Centre) 百祥塔藝術中心 (Pagoda Arts Centre Liverpool) 南安普敦中華藝術團 (Chinese Arts Southampton) 這些組織看似是平平無奇的組織,實則上它們是中共在民主國家的滲透,明裏暗裏做統戰工作,舉例「全英中國學生學者聯誼會」是旗幟鮮明的中國駐英大使館官方組織;舉辦集會的「英國福建華僑華人聯合總會」以及支持組織「倫敦華埠商會」,前年5月底曾在親北京報章刊登廣告,支持制訂《港區國安法》。 #UK#統戰#支共禍患#NeverTrustCCP#共匪#共賊#evilCCP#fxxkCCP#TakeDownTheCCP#天滅中共全黨死清光