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

Резултати

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

Търсене: #tdp

当前筛选 #tdp清除筛选
Telegrammi di Tennis

@tennistelegram · Post #13920 · 09.03.2026 г., 09:09

Paralimpiadi Milano Cortina 2026 Programma: https://www.paralympic.org/milano-cortina-2026/results#/schedule/calendar 🚨 Invece di un post quotidiano, usiamo questo come post unico per commentare, notizie sul medagliere etc. Lo trovate fissato in alto. #TdP

Hashtags

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39557 · 16.05.2022 г., 18:06

#Francia Élisabeth #Borne (#TDP|RE): "Dedico la mia nomina a Prima Ministra a tutte le bambine. Andate fino alla fine dei vostri sogni, niente deve frenare la lotta per il posto delle donne nella nostra società. Bisogna agire più velocemente e in modo più incisivo dinnanzi alla sfida climatica ed ecologica. Questo è tutto il senso del nuovo metodo voluto dal Presidente #Macron." @UltimoraPolitics

Ultimora.net - POLITICS

@Ultimorapolitics · Post #37463 · 24.04.2022 г., 18:17

#Francia Ministro degli Esteri Jean-Yves #LeDrian (#TDP|RE): "La rielezione di Emmanuel #Macron è una grande soddisfazione. È soprattutto la forza della mobilitazione dei francesi per il mantenimento dei nostri valori e il fatto che i francesi non volevano una Francia che si restringe. Dobbiamo considerare questa vittoria come una vittoria che ci obbliga nel campo dell'ecologia ma per Macron occorre una maggioranza in Assemblea nazionale." @UltimoraPolitics

Ultimora.net - POLITICS

@Ultimorapolitics · Post #37807 · 28.04.2022 г., 18:29

#Sondaggi#Francia Sondaggio di Ifop: "Chi vuoi che vinca le elezioni legislative?" #PCF-#LFI-#EELV-#PS|LEFT|G/EFA|S&D: 35% #RN-#Reconquête|ID|Estrema destra: 29% #EC (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)|RE: 26% #LR-#UDI|EPP|RE: 10% Data rilevazione: 26-27 aprile Intervistati: ? @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #40015 · 16.06.2022 г., 17:01

#Sondaggi#Francia Sondaggio di Odoxa sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)|RE: 252-292 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#Ensemble-#REV-#Gs-#GE-#ND-#POI)|LEFT|S&D|G/EFA: 179-225 #LR-#UDI-#LC|EPP|RE: 42-62 #RN|ID: 25-49 DVG|Centro-sinistra|Sinistra: 3-7 DVD|Centro-destra|Destra: 2-8 Partiti regionalisti/Altri: 2-6 Data rilevazione: 14-15 giugno Intervistati: 2005 @UltimoraPolitics24

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39317 · 12.05.2022 г., 18:40

#Sondaggi#Turchia Sondaggio di ORC: #AKP|Destra: 28% #CHP|S&D: 24% #İYİ|Centro-destra: 18% (+1) #HDP|S&D: 9% (+0,5) #MHP|Estrema destra: 7% (-1) #GP|Centro-destra: 2% #DEVA|Centro: 2% #SP|Estrema destra islamica: 2% #TDP|Centro-sinistra kemalista: 2% (+0,5) #YRP|Estrema destra islamica: 1% #BTP|Centro kemalista alevista: 1% #MP|Centro-sinistra kemalista: 1% #BBP|Estrema destra islamica: 1% (+0,5) #DP|Centro-destra: 1% Data rilevazione: 5-8 maggio +/-: 17-22 aprile Intervistati: 5300 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #40024 · 17.06.2022 г., 18:33

#Sondaggi#Francia Sondaggio di Harris Interactive sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)|RE: 267-307 seggi (+10) #NUPES (#LFI-#PS-#EELV-#PCF-#Ensemble-#REV-#Gs-#GE-#ND-#POI)|LEFT|S&D|G/EFA: 161-219 (-11) #LR-#UDI-#LC|EPP|RE: 47-58 (+2-9) #RN|ID: 25-50 (+2-5) DVG|Centro-sinistra|Sinistra: 12-17 (+10-9) Partiti regionalisti/Altri: 8-13 (+3) DVD|Centro-destra|Destra: 7-8 (+4) DVC|Centro: 2-6 (+2-5) #DLF-#LP|Destra radicale: 0-1 Data rilevazione: 17 giugno +/-: 12 giugno Intervistati: 3779 @UltimoraPolitics24

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #40000 · 15.06.2022 г., 16:36

#Sondaggi#Francia Sondaggio di Harris Interactive sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)|RE: 257-335 seggi (-28-38) #NUPES (#LFI-#PS-#EELV-#PCF-#Ensemble-#REV-#Gs-#GE-#ND-#POI)|LEFT|S&D|G/EFA: 161-184 (+41-35) #LR-#UDI-#LC|EPP|RE: 45-58 (+7) #RN|ID: 23-45 (-7-5) Partiti regionalisti/Altri: 5-10 (+2-3) DVD|Centro-destra|Destra: 3-8 DVG|Centro-sinistra|Sinistra: 2-8 (+2-8) DVC|Centro: 0-1 (-1) #DLF-#LP|Destra radicale: 0-1 Data rilevazione: 12 giugno +/-: 3-6 giugno Intervistati: 2355 @UltimoraPolitics24

ПредишнаСтр. 1 от 4Следваща