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

Търсене: #gallant

当前筛选 #gallant清除筛选
MessageInABottle

@mib_messageinabottle · Post #6975 · 26.05.2024 г., 22:59

IDF MEMBER THREATENS MILITARY COUP IN ISRAEL "Yair #Netanyahu, Son of Israel PM, just posted, then deleted, this video by a Netanyahu loyalist in #Gaza threatening Defense Minister Yoav #Gallant with a military coup if he did not change tactics to allow an accelerated #genocide As the war drags on, Israel is being destabilized from within" Yair Netanyahu left Israel for Florida in March 2023 amid reports he was banned by his father from posting on social media for inflaming tensions in Israel, exacerbating a diplomatic rift with the United States. IDF soldier: "We want to KILL THEM ALL. No one shall remain alive! ... Either you change tactic, Mr #Gallant (defense minister), and let us kill them all, or we will leave only one prime minister! Do you want a military #coup?" IDF soldiers literally threatening Israeli Defense Minister Yoav #Gallant with a military coup if he did not change tactics to allow an accelerated genocide. #Israel is really no better than some two-bit dictatorship!

Libertà è ragione

@libertaeragione · Post #4165 · 28.04.2024 г., 07:55

#Israele#Gaza#CPI Secondo quanto riportato da “Channel 14”, il governo #Netanyahu ha avuto le notizia del fatto che nelle prossime settimane verranno emessi mandati di arresto per “crimini contro l’umanità” a carico dei vertici dell’esecutivo e dell’#IDF, incluso il Primo Ministro #Netanyahu (#Likud|ECR) e il Ministro della Difesa Yoav #Gallant (Likud). Sarebbe questa la ragione alla base della volontà di Bibi di cercare un “accordo dell’ultimo minuto” con #Hamas|Islamisti radicali, sperando nel fatto che una mancata invasione di #Rafah possa scongiurare l’adozione di misure cautelari da parte della Corte Penale Internazionale. Se un mandato d’arresto dovesse essere emesso nei suoi confronti, Netanyahu diventerebbe il primo leader di governo di uno Stato occidentale a riceverlo. Evento che gli precluderebbe l’ingresso in 128 Stati del mondo, pena l’arresto in loco. @OsservatorioEsteri

Savino Balzano

@savinobalzano · Post #1102 · 28.07.2025 г., 09:31

https://x.com/SavinoBalzano/status/1949764393660449003?t=AuMch5bvVrzjWnEbBSbhQg&s=19 Israele è l'unica democrazia del medio oriente e quanto si dice in giro è solo frutto della propaganda di #Hamas. Ah, no. Il ministro israeliano della Difesa Yoav #Gallant ha annunciato che #Gaza avrebbe ricevuto "niente elettricità, niente cibo, niente acqua, niente carburante". Il ministro degli esteri #Katz ha detto: "aiuti umanitari a Gaza? Non si accenderà nessun interruttore elettrico, non verrà aperto nessun idrante". Avi #Dichter, ministro dell'agricoltura, ha definito l'azione militare di #Israele la "#Nakba di Gaza 2023". Revital "Tally" #Gotliv, una parlamentare del #Likud, ha postato sul suo account social: "abbattete gli edifici!! Bombardate senza distinzione!! (...) Spianate Gaza senza pietà! Questa volta non c'è spazio per la pietà". Amihai #Eliyahu, il ministro per il patrimonio, ha indicato l'uso delle armi atomiche su Gaza "come una delle opzioni". * Citazioni tratte da C. Hedges, "Un genocidio annunciato", Fazi Editore, 2025. P.s. prima che qualche automa me lo domandi: si, anche le immagini del 7 ottobre sono disgustose. La colpa di quel disastro è da imputare ad Hamas. Però uno sguardo alla Direttiva Annibale lo darei, se fossi in voi.

la fionda📗

@lafionda · Post #6398 · 28.07.2025 г., 09:48

https://x.com/SavinoBalzano/status/1949764393660449003?t=AuMch5bvVrzjWnEbBSbhQg&s=19 Israele è l'unica democrazia del medio oriente e quanto si dice in giro è solo frutto della propaganda di #Hamas. Ah, no. Il ministro israeliano della Difesa Yoav #Gallant ha annunciato che #Gaza avrebbe ricevuto "niente elettricità, niente cibo, niente acqua, niente carburante". Il ministro degli esteri #Katz ha detto: "aiuti umanitari a Gaza? Non si accenderà nessun interruttore elettrico, non verrà aperto nessun idrante". Avi #Dichter, ministro dell'agricoltura, ha definito l'azione militare di #Israele la "#Nakba di Gaza 2023". Revital "Tally" #Gotliv, una parlamentare del #Likud, ha postato sul suo account social: "abbattete gli edifici!! Bombardate senza distinzione!! (...) Spianate Gaza senza pietà! Questa volta non c'è spazio per la pietà". Amihai #Eliyahu, il ministro per il patrimonio, ha indicato l'uso delle armi atomiche su Gaza "come una delle opzioni". * Citazioni tratte da C. Hedges, "Un genocidio annunciato", Fazi Editore, 2025. P.s. prima che qualche automa me lo domandi: si, anche le immagini del 7 ottobre sono disgustose. La colpa di quel disastro è da imputare ad Hamas. Però uno sguardo alla Direttiva Annibale lo darei, se fossi in voi.