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

Резултати

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

Търсене: #what

当前筛选 #what清除筛选

😄What ➖➖➖➖➖➖ 🔘What can be used in questions to ask for information. What time do you usually wake up?What time do you usually wake up? 🔘We can also use what in questions to show that we are surprised. What?! You wake up at noon?What?! You wake up at noon? 🔘We can use what on its own to ask someone to say something again. 🔜I don't like chocolate. What? I don't really like chocolate. 🔘What can introduce an opinion. 🔜What a cute puppy! #What👨‍🏫@America ➖➖➖➖➖➖➖➖➖➖➖➖ 🆕 Crypto News @Money 😁 Crypto Game @Egame 🇺🇸 US News @America 🇯🇵 Japan News @Japan 🇦🇪 UAE News @Dubai ▶️ Popular Movies @Videos 😜 Best Funny Video @Funnys

Hashtags

无损音乐分享频道

@d_wusun · Post #5375 · 19.01.2026 г., 13:17

名称:陈奕迅 - 2006年专辑 - What's Going On Flac 描述:众期待已久的2006年 Eason 年度大碟粤语唱片《What’s Going On…?》终于上市。随碟附送制作特辑DVD “What’s Going On With Eason?”(全长30分钟),让乐迷可全程追击录音过程,还有三首主打歌新MV。 率先派台推介歌“裙下之臣”乃歌颂女人之作,出自Alex San及黄伟文手笔,又一首继“夕阳无限好”后大热之选;至于感人之歌“富士山下”则是大碟的点题之作,正如一句“无论你在富士山下或狮子山下,都应该拥有一张……”,而歌者悲哀情怀在歌词中表露无遗。另外,慢版“不如不见”和主打之一“白玫瑰”也是值得留意之作。 01 裙下之臣 02 最后的嬉皮士 03 白玫瑰 04 黑择明 05 富士山下 06 不如不见 07 心深伤透 08 解药 09 天公地道 10 粤语残片 链接:https://pan.quark.cn/s/904f16077c5c 📁 大小:262MB 🏷 标签:#陈奕迅#What's Going On #无损音乐#音乐#猪儿虫

Jokes Around the Globe

@jokearoundtheglobe · Post #4991 · 29.12.2022 г., 22:36

*This world indeed is nothing, just last weekend we were enjoying with you in all occasions we attended.. You even promised to hung around with us till January only for you to leave us unannounced without even saying goodbye to me.. #What a great lost!! 😭😭* *I love you but God loves you more.. #RIP My December Salary* 😭😭😭😭😭😭😭😭😭 @jokearoundtheglobe

Hashtags

👥what-to-eat | AI 一键生成专属菜谱 周末打开冰箱,总是一堆食材看着犯愁?what-to-eat 这款开源项目直接用 AI 帮你定制菜谱。它支持 中华八大菜系,还涵盖 日式、韩式、意式 等国际料理,只需输入手头的食材,立刻生成菜谱方案。更贴心的是,附带 营养分析 和 酒水搭配建议,让每一餐都更专业 项目还内置了 智能食材管理、AI 菜品效果图生成、酱汁设计器 等功能,既能满足日常口腹之欲,又能解锁下厨的创意灵感。对爱下厨又嫌麻烦的人来说,这简直是居家必备神器 😎 小编有话说:终于可以摆脱“吃啥”的世纪难题 🚀在线体验 · 👩‍💻GitHub 标签:#what-to-eat #菜谱#做饭#食谱#食材#菜谱#AI#下厨 🗓@xiuerSearch 搜索历史资源 ✈️频道 | 💬群聊 | 📱中文包

VIP_影视分享

@wangzhuanzhan · Post #33070 · 14.09.2024 г., 08:46

Q-q情q迷m拉l斯s维w加j斯s- 情迷拉斯维加斯 What Happens in Vegas (2008) 直达链接:https://pan.quark.cn/s/893b772c8512 #情迷拉斯维加斯#What Happens in Vegas #赌城无记事#一夜赌城恋大咗 #头彩冤家#情迷赌城 链接:https://link3.cc/sf_com #电影#喜剧#美国#00年代

VIP_影视分享

@wangzhuanzhan · Post #33724 · 07.10.2024 г., 06:02

J-j家j族z之z苦k- 家族之苦 家族はつらいよ (2016) 直达链接:https://pan.quark.cn/s/eae7984e1f83 #家族之苦#家族はつらいよ #嫲烦家族#家族真命苦 #Kazoku wa tsuraiyo #What a Wonderful Family 链接:https://link3.cc/sf_com #电影#喜剧#日本#10年代