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

Резултати

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

Търсене: #rev

当前筛选 #rev清除筛选
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 #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

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38637 · 06.05.2022 г., 21:50

#Sondaggi#Francia Sondaggio di Cluster17, fascia d'età 18-24 anni #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND)|LEFT|S&D|G/EFA: 59% #EC (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun): 13% #RN|ID: 13% #Reconquête|Estrema destra: 4% #LR-#UDI|EPP|RE: 4% #DLF|ECR: 3% Regionalisti:/Altri 2% #LO/#NPA|Estrema sinistra|LEFT: 1% Data: 3-5 maggio Intervistati: 3498 @UltimoraPolitics

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39183 · 10.05.2022 г., 16:35

#Sondaggi#Francia Sondaggio di OpinionWay sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 310-350 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 135-165 #LR-#UDI-#LC|EPP|RE: 50-70 #RN|ID: 20-40 Altri: 5-10 Data rilevazione: 5-9 maggio Intervistati: 3077 @UltimoraPolitics

Ultimora.net - POLITICS

@Ultimorapolitics · Post #38240 · 03.05.2022 г., 17:15

#Sondaggi#Francia Sondaggio di Harris Interactive sui seggi: scenario: larghe coalizioni #EC (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)-#LR-#UDI-#LC|RE|EPP: 336-376 seggi (+10) #RN-#Reconquête-#DLF|ID: 110-140 (-7) #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND)|LEFT|S&D|G/EFA: 70-90 (-3) Partiti regionalisti/Altri: 3-7 #LO/#NPA|Estrema sinistra|LEFT: 0 Data rilevazione: 29 aprile-2 maggio +/-: 24-25 aprile Intervistati: 2366 @UltimoraPolitics

Ultimora.net - POLITICS

@Ultimorapolitics · Post #38239 · 03.05.2022 г., 17:10

#Sondaggi#Francia Sondaggio di Harris Interactive: scenario: larghe coalizioni #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND)|LEFT|S&D|G/EFA: 33% #EC (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun)-#LR-#UDI-#LC|RE|EPP: 33% #RN-#Reconquête-#DLF|ID: 30% (-1) #LO/#NPA|Estrema sinistra|LEFT: 2% Partiti regionalisti/Altri: 2% (+1) Data rilevazione: 29 aprile-2 maggio +/-: 24-25 aprile Intervistati: 2366 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39957 · 12.06.2022 г., 18:08

#Elezioni#Francia Exit poll di Ifop sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 275-310 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 182-210 #LR-#UDI-#LC|EPP|RE: 40-60 #RN|ID: 10-25 DVG|Centro-sinistra|Sinistra: 7-13 Altri: 4-10 DVD|Centro-destra|Destra: 2-8 Totale seggi: 577 Maggioranza: 289 @UltimoraPolitics24

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #38712 · 07.05.2022 г., 13:50

#Sondaggi#Francia#PACA Sondaggio di Harris Interactive in Provenza-Alpi-Costa Azzurra: scenario: larghe coalizioni #RN-#Reconquête-#DLF|ID: 38% #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#FP)|RE: 31% #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#PP)|LEFT|S&D|G/EFA: 25% #LO/#NPA|Estrema sinistra|LEFT: 2% Altri: 4% Data rilevazione: 26-29 aprile Intervistati: 933 @UltimoraPolitics

Ultimora.net - POLITICS

@ultimoraPOLITICS · Post #39959 · 12.06.2022 г., 18:23

#Elezioni#Francia Exit poll di Elabe sui seggi: #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 270-310 seggi #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini-#PéyiA)|LEFT|S&D|G/EFA: 170-220 #RN|ID: 15-30 #LR-#UDI-#LC|EPP|RE: 33-53 Altri: 3-9 DVD|Destra: 2-5 DVG|Sinistra: 0-5 #DLF-#LP|Destra radicale: 0-2 DSV-EXD|Estrema destra: 0-2 @UltimoraPolitics24

Ultimora.net - POLITICS

@UltimoraPOlitics · Post #39254 · 11.05.2022 г., 15:24

#Sondaggi#Francia Sondaggio di Harris Interactive: #NUPES (#LFI-#PS-#EELV-#PCF-#PG-#Ensemble-#REV-#Picardie-#Gs-#GE-#ND-#POI-#PLR-#Tavini)|LEFT|S&D|G/EFA: 28% (-7) #Ensemble (#LREM-#MoDem-#Agir-#TDP-#Horizons-#Rad-#EnCommun-#Tapura)|RE: 26% (+2) #RN|ID: 24% (+1) #LR-#UDI-#LC|EPP|RE: 9% (+1) #Reconquête|Estrema destra: 6% Partiti regionalisti/Altri: 3% (+2) #LO/#NPA|Estrema sinistra|LEFT: 3% (+1) #DLF|Destra radicale: 1% Data rilevazione: 6-9 maggio +/-: 29 aprile-2 maggio Intervistati: 2406 @UltimoraPolitics

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