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

Резултати

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

Търсене: #chinesevirus

当前筛选 #chinesevirus清除筛选
香港人的蘋果

@appledailyhk26 · Post #55189 · 24.09.2023 г., 09:20

賺錢的事,能算核污染麼?🤪 呢頭中共話禁日本海產,嗰頭就畀美國駐日大使Emanuel斷正,有船身印著「China」嘅漁船,喺日本附近海域拖網撈魚。Emanuel指該處係日本專屬經濟區。呢位美國駐日大使曾經喺日本排放核處理水後,譴責中共嘅禁令,數度前往福島聲援日本漁民,並喺X平台公開佢大吃魚生嘅相,以證明日本水產品嘅安全。Emanuel喺X po咗漁船嘅相後,雖然有網民話「該區係受爭議嘅專屬經濟區」,不過好快就畀其他人留言指出,邊個嘅EEZ唔係重點,重點係嗰度仍然係「受核污染」嘅海域。 #核處理水#福島核事故#ChineseVirus

香港人的蘋果

@appledailyhk26 · Post #54399 · 25.08.2023 г., 09:09

Artist: 變態辣椒 @remonwangxt 有時候去微博逛逛,今天一看,時間線上全是日本核處理水排放問題,慘不忍睹,感覺進了夏天農村的旱廁,真是萬X蠕動。。。 #日本水產#brainwashing#ChineseVirus#洗腦教育#盲目忠誠#無腦效忠

香港人的蘋果

@appledailyhk26 · Post #54410 · 25.08.2023 г., 20:27

Yu人搶鹽圖(造型來自伊藤潤二老師) 日本核電廠污染了中國的海水,導致大量中國人變異,成為半機械半喪屍的Yu人,喪屍化之後的Yu人智商嚴重下降,也失去了判斷力,ta們除了跟隨老喪屍搶鹽和攻擊正常人類,什麼也不會。 Art by 变态辣椒 @remonwangxt #肓搶鹽#福島核處理水#盲目忠誠#無腦效忠#支那病毒#ChineseVirus