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

Резултати

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

Търсене: #likud

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

@libertaeragione · Post #3754 · 27.03.2023 г., 10:19

#Israele Ministro della Giustizia Yariv #Levin (#Likud|ECR): “Come membro del Likud, rispetterò la decisione del Primo Ministro sulla riforma della giustizia. Lo affermo in piena consapevolezza del fatto che la situazione possa condurre al crollo del governo e dello stesso partito Likud.” @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4397 · 04.08.2025 г., 18:53

#Israele#Gaza Ynet riporta che alti funzionari dell'Ufficio del Primo Ministro Benjamin #Netanyahu (#Likud|ECR|PfE) hanno dichiarato che "la tregua è stata rotta, occuperemo completamente la Striscia di Gaza. Ci saranno anche attività nelle aree in cui sono tenuti gli ostaggi. La decisione è stata presa: Israele occuperà la Striscia di Gaza. #Hamas non rilascerà altri ostaggi senza la resa completa, non ci arrenderemo. Se non agiamo ora, gli ostaggi moriranno di fame e Gaza rimarrà sotto il controllo di Hamas." @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4173 · 05.05.2024 г., 11:05

#Israele#Gaza Il Primo Ministro israeliano Benjamin #Netanyahu (#Likud|ECR) ha annunciato che i combattimenti continueranno: “Non siamo pronti ad accettare una situazione in cui i battaglioni di #Hamas escono dai loro bunker, riprendono il controllo di Gaza e tornano a minacciare i cittadini di Israele negli insediamenti circostanti, nelle città del sud, in tutte le parti del paese Pertanto, Israele non accetterà le richieste di Hamas, che significano la resa, e continuerà a combattere finché tutti i suoi obiettivi non saranno raggiunti". @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #3984 · 07.10.2023 г., 08:43

#Israele#Palestina Premier Benjamin #Netanyahu (#Likud|ECR): "Siamo in una guerra, non in un'operazione. #Hamas ha lanciato un attacco omicida a sorpresa contro lo Stato di Israele e i suoi cittadini. Ho ordinato innanzitutto di ripulire gli insediamenti dai militanti infiltrati e ho ordinato una mobilitazione su larga scala delle riserve. Il nemico pagherà un prezzo senza precedenti." @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4145 · 04.04.2024 г., 18:02

#USA#Israele Il Presidente Joe #Biden (#D|Centro-sinistra) ha avuto un colloquio telefonico con il Primo Ministro israeliano Benjamin #Netanyahu (#Likud|ECR). I due leader hanno discusso della situazione a Gaza, e Biden ha sottolineato che "gli attacchi contro gli operatori umanitari e la situazione umanitaria complessiva sono inaccettabili". La Casa Bianca fa sapere che Biden abbia chiarito la necessità che Israele "annunci e attui una serie di passi specifici, concreti e misurabili per affrontare i danni civili, le sofferenze umanitarie e la sicurezza degli operatori umanitari". Inoltre, Biden ha affermato che la politica degli Stati Uniti "rispetto a Gaza sarà determinata dalla nostra valutazione dell'azione immediata di Israele su questi passi", sottolineando che un cessate il fuoco immediato "è essenziale per stabilizzare e migliorare la situazione umanitaria e proteggere i civili innocenti". @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #4254 · 02.10.2024 г., 11:30

#Israele#ONU Ministro degli Esteri Israel #Katz (#Likud|ECR): "Oggi ho deciso di dichiarare il Segretario generale dell'ONU Antonio #Guterres una persona non desiderata in Israele e di vietargli l'ingresso in Israele. Coloro che non sono in grado di condannare senza ambiguità l'attacco criminale dell'Iran contro Israele, come hanno fatto quasi tutti i paesi del mondo, non sono degni di calpestare il suolo israeliano. Si tratta di un segretario generale che non ha denunciato il massacro e i crimini sessuali perpetrati dagli assassini di Hamas il 7 ottobre, e non ha portato a decisioni che li dichiareranno organizzazione terroristica. Un segretario generale che dà una spinta ai terroristi, stupratori e assassini di Hamas, Hezbollah, gli Houthis, e ora la nave madre del terrorismo globale, l'Iran, sarà ricordato come una macchia nella storia dell'ONU. Israele continuerà a proteggere i suoi cittadini e manterrà il suo status nazionale e la sua dignità con o senza Antonio Guterres." @OsservatorioEsteri

Libertà è ragione

@libertaeragione · Post #3859 · 14.06.2023 г., 15:50

#Israele La maggioranza di governo è stata sconfitta nel voto decisivo della #Knesset per selezionare il componente politico chiamato a far parte del Comitato per la selezione dei giudici. A causa di dissidi interni alla coalizione, ad essere stata eletta è la parlamentare di #YA|Centro Karine #ElHarrar, votata anche da qualche esponente della maggioranza. Solo 11 voti, contro i 58 di ElHarrar, per Tali #Gottlieb (#Likud|ECR). @OsservatorioEsteri

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