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

Резултати

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

Търсене: #ra

当前筛选 #ra清除筛选
Libertà è ragione

@libertaeragione · Post #4065 · 05.12.2023 г., 09:19

#Sondaggi#Israele Sondaggio di “Dayan Center” rivolto agli arabi israeliani: “Qual è la componente più importante della tua identità personale?” Elettori #RA|Conservatori islamici: Cittadinanza israeliana: 39% Identità araba: 35% Affiliazione religiosa: 22% Identità palestinese: 3% Elettori #Hadash-Ta'al|Sinistra araba: Cittadinanza israeliana: 36% Identità araba: 47% Affiliazione religiosa: 13% Identità palestinese: 10% #Balad|Sinistra araba Cittadinanza israeliana: 27% Identità araba: 24% Affiliazione religiosa: 30% Identità palestinese: 19% Data di rilevazione: 12-16 novembre Intervistati : 502 @OsservatorioEsteri

中文名: RAINBOW 少年犯之七人/二舍六房的七人 话数: 26 放送开始: 2010年4月6日 放送星期: 星期二 原作: 安部譲二、柿崎正澄(小学館ヤングサンデーコミックス刊) 导演: 神志那弘志 ☺️评分:7.6 力荐 🟢故事简介 由安部让二原作、柿崎正澄作画的日本青年漫画「少年犯之七人」,曾于2006年获第51回小学馆漫画赏大赏。2003年4月到2008年12月期间共发行了20卷单行本,累计销量超过300万部。该作自2001年起在小学馆发行的「周刊YOUNG SUNDAY」上连载,期间休载了一年,今年春天在「Big Comic Spirits」上开始连载第四章。千呼万唤、一拖再拖,根据其改编的TV动画终于敲定在今年春季播出。故事讲述了昭和30年(1955年),6名16岁的少年因犯罪而进入“湘南特别少教所”的二舍六房,期间发生打架、逃狱、私刑等事件,与前辈樱哥渡过惨烈的每一天。出狱后他们铭记樱哥的教导,坚强地面对社会的不公平对待而开始各自的人生。本作对于原作者安部让二的经历而言是可称作自传的作品,其写实的画功展现的青春故事让读者赞不绝口。 🌐OneDrive:点击下载 🗂百度网盘:点击下载 📁往期番剧汇总表格:打开 📝漫画:https://t.me/c/1659887654/275 🔐解压:blackcatunderthemoon 引索:#R#RA#S#SN#E#ES 标签:#漫改#黑暗#励志#热血

VIP_影视分享

@WangZhuanZhan · Post #33880 · 09.10.2024 г., 05:38

C-c超c世s纪j战z神s- 超世纪战神 RA. One (2011) 直达链接:https://pan.quark.cn/s/df9a69725f39 #超世纪战神#RA. One #天使战将#超世纪战神 #随机存取:版本1 #魔王#虚拟战士 链接:https://link3.cc/sf_com #电影#喜剧#印度#10年代

Libertà è ragione

@libertaeragione · Post #4000 · 13.10.2023 г., 10:40

#Sondaggi#Israele Sondaggio di Lazar: #NUP (#BaW-#NH)|Centro|Centro-destra: 41 seggi (+12) #Likud|ECR: 19 (-9) #YA|Centro: 15 (-1) #RZ-#OY|Estrema destra ebraica: 9 (-1) #UTJ|Destra charedì: 7 #Shas|Charedì: 7 (-3) #Meretz|S&D: 6 (+2) #Beiteinu|Destra secolarista: 6 #RA|Conservatori islamici: 5 #Hadash-#TA|Sinistra araba: 5 #Balad|Sinistra araba: 0 (1,5%) #Labor|S&D: 0 (1,3%) Data rilevazione: 11-12 ottobre +/-: 4-5 ottobre Intervistati: 512 NUP, la coalizione sionista liberale guidata da Benny #Gantz e Gideon #Saar, raggiunge un nuovo record di seggi (41). @OsservatorioEsteri

#Elezioni#Israele 100% scrutinato: #Likud|ECR: 30 seggi (-6) #YeshAtid|Centro: 17 (+4) #Shas|Charedì: 9 #BaW|Centro: 8 (-7) #Yamina|Destra: 7 (+4) #Labor|S&D: 7 (+4) #UTJ|Destra charedì: 7 #Beiteinu|Destra secolare: 7 #NewHope|Centro-destra: 6 (+6) #RZ-#OtzmaYehudit-#Noam|Estrema destra ebraica: 6 (+4) #Meretz|S&D: 6 (+3) #Joint (#Hadash-#TA-#Balad-#MA)|Sinistra araba: 6 (-5) #RA|Sinistra islamica: 4 #NEP|Economisti: 0 (0,79%) #Rafa|No-vax: 0 (0,39%) Totale seggi: 120 Maggioranza: 61 Attuale Governo (Likud-BaW-Shas-UTJ-JewHome): 54 @UltimoraPolitics