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

Търсене: #lancloud

当前筛选 #lancloud清除筛选
海岚之家✿™

@ZCL_Public · Post #73 · 04.02.2024 г., 10:20

机场推荐菜单(详细版)✿ 🫁 🫁 🫁 🫁 🫁 🫁 🫁🫁🫁🫁🫁🫁🫁🫁🫁🫁 频道测速日常用 上海AZ10G 但是只有单线程才能提现日常使用的速度 多线程大多是下载用的 不过多线程不好就别指望单线程好了 ----------------------------------- ----------------------------------- #白嫖节点 #公益机场 点击蓝字前往查看 ------------------------------------------------- 有合作 #Emby #MisakaF #ACA#Facmata#NiceDuck#Tnet #喵云 ------------------------------------------------- #送测 #次元云#Shellnet#Netlove#滴蜡熊#萌物云#星遇Next#外星云 #喵云#光环网络 ------------------------------------------------- #第一档一线主用机场 #奶昔 #花云 #库洛米 #imm #YTOO AIR年付 98/15G/月 一线里面算便宜的 比较稳定 同类型还有花云 稍微贵一点 但是解锁好一点 #西部数据 CNIX(薯条) 24.99/204G 广港 带宽极大极大 香港延迟可低至30ms 好用 好用 好用 但是只有香港是真的好用 #第二档 主用机场 #Recmata Facmata的分站 主打精品直连 全线采用 CTG CN2GIA,CU-II AS9929,CMI AS58453 等优质线路 极其建议电信用户体验 #CTC#金龙鱼 SE套餐 10/60G 极其丰富的落地 DC5最喜欢的SGGS #CTC2 #私房菜 后来 我翻遍了整个TG 再也找不出这样的机场了 #第三档 价格适中 可主用可备用 🌸#ACA 8元120G 涨价了 但是仍然很有性价比 如果有机会可以收一个旧套餐 有Misakaf合作Emby 奈菲 pronhub 迪士尼劫持节点 大量冷门家宽 #NiceDuck 20/50G/季 12/100G/月 三个Emby(JMS,1111,pilipili) 可以试水 #Jaycloud 暂时全misaka 9.9/200G 性价比确实可以 #心茶 无sggs了 #Facmata 9.9/100G 19.9/300G 用着不错 和MJJ的Emby合作 #tnet#tsunami 现在不稳定 上了点游戏线路 #Naiu #Puppy #新云 (目前很不稳定) #hela #第四档 备用机场+不限时价格实惠 #超级机场 这种价位!1元100G 速度爆表 流媒体全解! #农夫山泉 6/200G 12/200G不限时 稳定 有便宜不限时 适合做备用 #COO 优先等节日优惠 5.88/30G 9.9/100G 46.88 /1T不限时 #第四档 免费白嫖机场 #Lancloud#公益机场 频道主的公益机场 不知道什么时候突然就去世了 #XQC ACA旗下备用机场 除了协议支持少 几乎没有缺点 #白小窝