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

Резултати

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

Търсене: #arnex

当前筛选 #arnex清除筛选
Russian Mission to ASEAN

@aseanrussia · Post #258 · 07.02.2023 г., 06:02

Completing his mission in Jakarta Russian 🇷🇺 Ambassador to #ASEAN H.E. Mr. Alexander Ivanov sums up the work being done during his tenure in the article "ASEAN does matter to Russia. A lot". 💬Indeed, for the last several years Russia became an indispensable actor in the Asia Pacific. Our #ASEAN friends understand and appreciate a constructive stabilizing role of Russia 🇷🇺 with no hidden agenda in the region. Our philosophies of international relations, based on the principle of sovereign equality of nations, are similar. ❗️Our practical cooperation reached a status of strategic partnership in 2018, fixed during the Summit of our leaders in Singapore. During these years in addition to existing areas of cooperation, we have managed to launch and actively promote new ones, including Consultations of the High Representatives for Security Issues, Dialogue on ICT Security-related issues,meetings of Tourism ministers and others. In the end of 2021 we successfully held the first ASEAN-Russia Naval Exercises (#ARNEX) in the Indonesian territorial waters. In 2022 we organized a number of events within the framework of ASEAN-Russia Year of Scientific and Technical Cooperation. Dozens of joint projects were implemented and financed by Russia 🇷🇺 in various spheres ranging from agriculture to training of ASEAN health experts and specialists of law-enforcement agencies. We continued to develop practical cooperation between ASEAN and Eurasian Economic Union as well as with Shanghai Cooperation Organization, thus moving the processes of integration of integrations across the huge Eurasian continent. 🔻We firmly believe that #ASEAN-centered mechanisms of cooperation, created in the last 55 years and based on the principles of equality, mutual respect and constructive engagement, including the #EAS, #ARF and #ADMM-Plus, played the pivotal role in stabilizing the region, balancing the interests of all big players and promoting mutual trust, which are prerequisites of the Asia Pacific phenomenon of becoming the main engine of the global economic growth. For many decades there were no hot military conflicts in the region. Largely it is the merit of #ASEAN wisdom and its leading role in shaping multilateral cooperation here. That is why Russia strongly supports #ASEAN centrality in the region not only in words but in deeds. 🤝 🔻There are many internal and external challenges for #ASEAN in the turbulent situation of strategic ambiguity. I am sure that the current Indonesian 🇮🇩 Chair will be able to navigate the “ASEAN ship” through the troubled waters of the Indian and Pacific oceans. 🔗https://www.thejakartapost.com/opinion/2023/02/06/asean-does-matter-to-russia-a-lot.html