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

Резултати

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

Търсене: #iaeo

当前筛选 #iaeo清除筛选

🗣Kommentar der Pressesprecherin des Außenministeriums Maria Sacharowa im Zusammenhang mit Angriffen auf Urananreicherungsanlagen im Iran Das amerikanisch-israelische Tandem setzt seine massiven Angriffe auf iranische militärische, zivile und, was besonders gefährlich ist, nukleare Einrichtungen fort, ohne Rücksicht weder auf zivile Opfer noch auf mögliche radiologische und ökologische Folgen. Ungeachtet der bekannten Behauptungen über eine „vollständige Zerstörung“ des iranischen Atomprogramms infolge amerikanischer Luftangriffe bereits im Juni vergangenen Jahres wurde am Morgen des 21. März erneut eine Urananreicherungsanlage in Natanz angegriffen, die unter den Garantien der IAEO steht. Dies stellt einen eklatanten Verstoß gegen das Völkerrecht, gegen die UN-Charta und die IAEO-Satzung sowie gegen einschlägige Resolutionen des UN-Sicherheitsrats und der Generalkonferenz der Agentur dar. Die internationale Gemeinschaft, einschließlich der Führung der Vereinten Nationen und der IAEO, ist verpflichtet, den verantwortungslosen Handlungen, die reale Risiken einer Katastrophe im Nahen Osten hervorrufen und offenkundig auf eine weitere Destabilisierung von Frieden, Stabilität und Sicherheit in der Region abzielen, unverzüglich eine objektive und kompromisslose Bewertung zu geben. @RusBotschaft #Iran#IAEO#UN

Aus dem Interview des russischen Außenminister Sergej Lawrow mit dem Nachrichtensender „Al-Arabiya“, 18. Februar 2026 Die USA haben den Iran, seine Atomobjekte, die unter der Kontrolle der Internationalen Atomenergie-Organisation (IAEO) stehen, früher schon angegriffen. Soweit wir wissen, waren die Risiken real. Nach den Angaben unserer iranischen Kollegen, ist die Lage momentan relativ stabil. Leider hat der Angriff der USA und Israels auf den Iran nicht nur physische Risiken verursacht, sondern auch die Autorität der IAEO und des Vertrags über die Nichtverbreitung von Kernwaffen (NVV), der, wie der Iran mehrmals betont hat, für das Land verbindlich bleibt, untergraben. Beispiellos war die Kontrolle der IAEO, besonders in den letzten Jahren, als der JCPoA unterzeichnet wurde. Der Iran wurde kein einziges Mal wegen der Verletzung des NVV oder seines Sicherungsabkommen mit der IAEO überführt. Wir haben keinen Grund zu zweifeln, dass der Iran die aktuelle Situation auf der Grundlage der Einhaltung und Anerkennung der Prinzipien des NVV beilegen will. Jetzt wurde in Genf bei der zwischen den USA und dem Iran wiederaufgenommenen Verhandlungen unter Vermittlung von Oman eine Idee aufgegriffen, dass der Iran überhaupt von seinen Rechten auf die Anreicherung von Uran zu allen Zwecken verzichten soll, und zwar entweder komplett, oder sein Raketenprogramm wesentlich einschränken und aufhören, jegliche politischen Kräfte in der Region zu beeinflussen. Dies ist völlig inkorrekt. Die erste Forderung spricht dem NVV wider. Der Iran hat das Recht auf die friedliche Nutzung von Uran, was immer unter der strikten Kontrolle der IAEO stand. Die Internationale Atomenergie-Organisation hat nie festgestellt, dass das angereicherte Uran zu militärischen Zwecken genutzt wird. Als die USA aus der JCPoA ausgestiegen sind, hat der Iran angekündigt, dass er nicht mehr durch Einschränkungen gebunden ist und fing an, Uran auf einen höheren Grad anzureichern. In der Tat ist dies ein Thema, das besprochen werden sollte, da niemand eine plötzliche Weiterverbreitung von Kernwaffen wünscht. Der Iran erklärt sich bereit, zur rein zivilen Nutzung der Kernenergie unter Aufsicht der IAEO zurückzukehren. Ich verfolge sehr aufmerksam die Reaktion der arabischen Staaten, der Golfmonarchien darauf, was in der Region geschieht. Niemand will neue Eskalationen. Allen ist klar, dass das ein Spiel mit dem Feuer ist. Die Signale, die die arabischen Staaten nach Washington senden, sind eindeutig: Sie rufen dazu auf, Zurückhaltung zu üben und nach Vereinbarungen zu suchen, die einerseits die legitimen Rechte Irans nicht beeinträchtigen und andererseits – einschließlich durch Überprüfungs- und Kontrollmaßnahmen – garantieren, dass der Iran ausschließlich friedliche Programme im Bereich der Urananreicherung verfolgt. 🔗 Quelle @RusBotschaft #Iran#IAEO#JCPoA#NVV