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

Търсене: #bipm

当前筛选 #bipm清除筛选

O‘zbekiston Prezidenti Xalqaro metrik Konvensiyaga qo‘shilish to‘g‘risidagi Qonunni imzoladi 2025 yil 27 noyabrda O‘zbekiston Respublikasi Prezidenti “Xalqaro metrik Konvensiyaga (Parij, 1875 yil 20 may, 1907 yil 17 oktyabrdagi, 1913 yil 11 oktyabrdagi va 1921 yil 6 oktyabrdagi o‘zgartirish va qo‘shimchalar bilan) O‘zbekiston Respublikasining qo‘shilishi haqida”gi Qonunni imzoladi. Mazkur huquqiy hujjat qabul qilinishi bilan O‘zbekiston rasman dunyodagi eng nufuzli metrologiya kelishuvi — 1875 yilda tuzilgan Xalqaro metrik Konvensiyaning to‘laqonli ishtirokchisiga aylanishiga zamin yaratdi. O‘zbekistonning mazkur Konvensiyaga qo‘shilishi mamlakatimizdagi o‘lchovlar birligini xalqaro standartlarga muvofiqlashtirish, Jahon savdo tashkilotiga a’zo bo‘lish jarayonida texnik to‘siqlarni kamaytirish va milliy sifat infratuzilmasini zamonaviy talablar asosida takomillashtirishda muhim qadam hisoblanadi. Bu bizga quyidagi imkoniyatlarni yaratadi: • O‘zbekistonning xalqaro konsultativ qo‘mitalar (CIPM CCs) va BIPM laboratoriyalari faoliyatida to‘laqonli ishtirok etishi; • milliy mutaxassislarning Byuro qoshida malaka oshirishi va stajirovkalarda ishtirok etishi; • xalqaro savdo jarayonlarida texnik to‘siqlarni kamaytirish; • milliy mahsulotlarning xalqaro bozorda raqobatbardoshligini oshirish; • investorlar va xalqaro tashkilotlar ishonchini kuchaytirish; • eksport salohiyatini kengaytirish va sifati xalqaro tasdiqlangan o‘lchov natijalaridan foydalanish; • O‘zbekistonning xalqaro reyting va indekslardagi ko‘rsatkichlarini yaxshilash; • CGPM yig‘ilishlarida ishtirok etish va ovoz berish huquqiga ega bo‘lish, CIPM saylovlariga nomzod ilgari surish imkoniyati. Prezident tomonidan imzolangan ushbu Qonun mamlakatimizda aniq va ishonchli o‘lchash amaliyotini xalqaro mezonlarga mos holda rivojlantirish, metrologiya sohasidagi barqaror o‘sishni ta’minlash hamda O‘zbekistonning global hamjamiyatdagi nufuzini oshirishga xizmat qiladi. #Uzbekistan#UzNIM#BIPM#The_Metre_Convention#Metrology 🌐standart.uz | Facebook | Instagram | YouTube

O‘zbekiston vakili xalqaro BIPM–TÜBİTAK UME dasturi doirasidagi seminarda muvaffaqiyatli ishtirok etdi ✅ Yaqinda Xalqaro o‘lchov va tarozilar byurosi (BIPM) hamda Turkiya Milliy Metrologiya instituti (TÜBİTAK UME) hamkorligida amalga oshirilayotgan “BIPM – TÜBİTAK UME Project Placements” xalqaro dasturining 8-bosqichi doirasida gibrid shakldagi o‘quv mashg‘uloti bo‘lib o‘tdi. ✅ Mazkur dastur 2018-yildan buyon muvaffaqiyatli amalga oshirilib kelinmoqda va bugungi kunga qadar 43 mamlakatdan 77 nafar tadqiqotchini birlashtirgan. Dastur milliy metrologiya institutlarining ilmiy-texnik salohiyatini oshirish, xalqaro hamkorlikni rivojlantirish hamda metrologiya sohasidagi mutaxassislar malakasini yuksaltirishga qaratilgan. ✅ Seminarda BIPMning Xalqaro aloqalar va kommunikatsiyalar bo‘limi vakillari Anna Sipionka va Chingis Kuanbayev ishtirok etdilar. Tadbir davomida xalqaro metrologiya tizimi va o‘lchov institutlarining o‘zaro tan olinishi uchun asos bo‘luvchi CIPM o‘zaro tan olish kelishuvi (CIPM MRA) haqida batafsil ma’lumot berildi. Dastur doirasida Albaniya, Ozarbayjon, Bosniya va Gersegovina, Kolumbiya, Malayziya, Misr, Norvegiya, O‘zbekiston, Ukraina va Vetnamdan jami 10 nafar mutaxassis ishtirok etdi. ✅ Seminarda O‘zbekiston texnik jihatdan tartibga solish agentligi huzuridagi O‘zbekiston milliy metrologiya instituti Xorazm filiali mutaxassisi Sh. Kadirov “Tibbiy metrologiya” yo‘nalishi bo‘yicha o‘z ma’ruzasi bilan faol ishtirok etdi. Uning ishtiroki mamlakatimizning xalqaro ilmiy hamjamiyat bilan integratsiyalashuvini chuqurlashtirish, shuningdek, zamonaviy metrologik infratuzilmani yanada takomillashtirish yo‘lidagi izchil sa’y-harakatlarini ifodaladi. ✅ Tadbir davomida ishtirokchilarga o‘zaro tajriba almashish, metrologiya sohasidagi dolzarb masalalarni muhokama etish, shuningdek, yetakchi xalqaro laboratoriyalarda qo‘llanilayotgan ilg‘or uslub va amaliyotlar bilan tanishish imkoniyati yaratildi. #UzNIM#BIPM#TUBITAK_UME#CBKT#hududiy_filiallar 🌐standart.uz | Facebook | Instagram | YouTube