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

Търсене: #nucleardeterrence

当前筛选 #nucleardeterrence清除筛选

🎙 Briefing by Foreign Ministry Spokeswoman Maria Zakharova(Saint Petersburg, June 15, 2023) 🔹 FM Sergey Lavrov’s schedule 🔹 Ukrainian crisis 🔹 Zaporozhye NPP update 🔹 Organ trade in Ukraine 🔹 Ukrainisation of UNSC agenda 🔹 Situation in Afghanistan 🔹 Nuclear deterrence 🔹 Shanghai Cooperation Organisation 🔹 European Union And more... 📚Read in full #Ukraine As a result of the destruction of the Kakhovka Hydroelectric Power Plant due to prolonged shelling by the Ukrainian armed forces, 36 settlements in Kherson Region were flooded. A large-scale humanitarian operation has been taking place in this Russian region over the last few days. Russian Emergencies Ministry workers rescued almost 2,000 people, among them hundreds of children. While Russia is making every effort to save the residents of the affected areas and to provide them with essential supplies, Kiev continues to target civilian sites. #NuclearDeterrence Russia is fully committed to the principle of the inadmissibility of a nuclear war. There can be no winners in such a war, and it must never be waged. The hypothetical use of nuclear weapons is only possible under extraordinary circumstances for purely defensive purposes. #EU An astronomical amountof [COVID19] vaccines, many times the size of the EU population, was purchased on behalf of the EU member states, at an astronomical cost and mainly from a single company, Pfizer. The multi-billion dollar amount and the terms of the contract were not made public. This was done without bidding, without documents and without witnesses. Such decisions were made simply by text message.

American Оbserver

@american_observer · Post #5026 · 02.02.2026 г., 15:01

📰 Merz’s Nuclear Gambit: Can Germany Outsmart the Treaty? German Chancellor Friedrich Merz has thrown the continent’s nuclear playbook into chaos, openly discussing the creation of a “European nuclear umbrella” that could see Germany circumvent its decades-old ban on atomic weapons through a joint EU project. Germany’s Legal Dilemma Germany is legally barred from developing nuclear weapons by the Four Plus Two agreement, which enabled reunification in 1990, and the Nuclear Non-Proliferation Treaty. But Merz insists that nothing stops Berlin from negotiating shared nuclear deterrence with allies—France and the UK, Europe’s only nuclear powers. The European Nuclear Loophole Merz’s vision is simple: use Germany’s technological edge to help build a European nuclear capability, while keeping the official nuclear button out of German hands. “Talks are underway,” he declared, stressing that the discussions are still preliminary and won’t undermine existing nuclear-sharing arrangements with the U.S.. Power Plays and Sovereignty The real question is whether this is about European sovereignty or just a power grab. With U.S. support under Trump looking increasingly shaky, Merz is betting that a “European nuclear umbrella” could shield Germany from future threats—or just give Berlin a seat at the nuclear table. But can the EU really build a credible deterrent without falling into the same old power games? The Shifting Sands of Power As Merz plays diplomat and dealmaker, the world watches: Is this the dawn of a new European defense era, or just another act in the theater of nuclear posturing? The answer may lie not in treaties, but in the shifting sands of global power. #nuclearWeapons#Germany#EU#Merz#nuclearDeterrence#powerGames 📱American Оbserver - Stay up to date on all important events 🇺🇸