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

Резултати

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

Търсене: #baw

当前筛选 #baw清除筛选

Гамму BAW 212 в РФ значительно расширят Гамму рамного внедорожника BAW 212 в России значительно расширят в 2026 году. Об этом сообщает «Российская газета» со ссылкой на официальных представителей дистрибьюторской компании #BAW в РФ. В первой половине текущего года россиянам начнут предлагать 5,5-метровый пикап с двухрядной четырехдверной кабиной. В тот же период появится версия 212 T01 Changfeng Diesel — со связкой турбодизеля и "автоматом" ZF. Специально для РФ мощность мотора на тяжелом топливе снизят до 159 л.с. К концу 2026-го ожидается трехдверный вариант BAW 212. Также на российском рынке должна появиться модификация 212 T01 Gaodi, адаптированная для езды по экстремальному бездорожью. У неё имеется дополнительная защита бамперов и порогов, экспедиционный багажник и заводской инструментальный ящик. Стандартный пятидверный BAW 212 стоит в России от 4,3 млн рублей. Источник: news.drom.ru/BAW-212-101642.html #RCINews

Hashtags

Рамный BAW 212 T01 сертифицировали в России В России, наконец, появятся автомобили BAW с ОТТС, запуск которых был анонсирован ещё летом: первым сертификат получил рамный внедорожник 212 T01, который из-за отдалённого сходства с УАЗ "Хантер" прозвали "китайским УАЗом". Как сообщил представитель #BAW, сертификацию прошла версия Adventurer RUS, адаптированная для российского рынка. Исполнение Adventurer RUS, разработанное специально для РФ, отличается расширенным зимним пакетом подогревов и русифицированным интерфейсом мультимедийной системы. В оснащение также входят электрорегулировки и функция массажа у водительского кресла, камеры кругового обзора и беспроводная зарядка для смартфона. Внедорожник в такой комплектации был выставлен на продажу за 4 340 000 рублей. BAW 212 предлагается в России с бензиновым турбомотором объёмом 2.0 литра и мощностью 238 л.с. Коробка — 8-диапазонный «автомат», привод полный. В подвеске применены неразрезные мосты, имеется блокировка межосевого дифференциала. Источник: auto.ru/mag/article/ramnyy-vnedorozhnik-baw-212-t01-sertificirovali-v-rossii/ #RCINews

Hashtags

Libertà è ragione

@libertaeragione · Post #4144 · 03.04.2024 г., 17:27

#Israele Benny #Gantz (#BaW|Centro) ha per la prima volta aperto a nuove elezioni: “Per poter mantenere l’unità, il pubblico deve sapere che presto torneremo a chiedere la loro fiducia. Non ignoriamo il 7.10, quindi dobbiamo raggiungere una data elettorale concordata verso settembre. Ho discusso una data elettorale concordata con i leader politici.“ @OsservatorioEsteri

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