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

Резултати

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

Търсене: #iica

当前筛选 #iica清除筛选

9-fevral kuni she’riyat mulkining sultoni Mir Alisher Navoiy tavalludining 585 yilligi nishonlanmoqda. 💬💬💬 9 февраля отмечается 585-летие со дня рождения великого поэта Алишера Навои. #AlisherNavoiy#IICA 💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz

🇮🇹Italiyaning yangi tayinlangan Elchisi MOXIga tashrif buyurdi Markaziy Osiyo xalqaro institutida (MOXI) Institut direktori Javlon Vaxabov Italiyaning O‘zbekistondagi yangi tayinlangan elchisi Gvido de Sanktis bilan uchrashdi. Uchrashuvda ikki tomonlama hamkorlikni kengaytirish, "Markaziy Osiyo + Italiya" formati doirasida aloqalarni mustahkamlash, shuningdek, ikki mamlakatning yetakchi tahlil markazlari o‘rtasida to‘g‘ridan-to‘g‘ri aloqalarni yo‘lga qo‘yish masalalari muhokama qilindi. 🔗 Batafsil:https://iica.uz/oz/event/italiyaning-yangi-tayinlangan-elchisi-moxiga-tashrif-buyurdi 💬💬💬 🇮🇹Вновь назначенный Посол Италии посетил МИЦА В Международном институте Центральной Азии (МИЦА) состоялась встреча директора Института Жавлона Вахабова с вновь назначенным послом Италии в Узбекистане Гвидо де Санктисом. В ходе встречи обсуждались вопросы расширения двустороннего сотрудничества, укрепления связей в формате «Центральная Азия + Италия», а также налаживания прямых контактов между ведущими аналитическими центрами двух стран. 🔗 Подробнее:https://iica.uz/ru/event/italiyaning-yangi-tayinlangan-elchisi-moxiga-tashrif-buyurdi #Italy#Uzbekistan#IICA 💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz

#Uzbekistan #EuropeanUnion #IICA 🟦🟦🟦🟦🟦🟦🟦 Yevropa Ittifoqi delegatsiyasi hamda MOXI o‘rtasida uchrashuv bo‘lib o‘tdi 😁 Markaziy Osiyo xalqaro instituti (MOXI) bo‘lim boshlig‘i Doniyor Qurbonov Yevropa Komissiyasining Tashqi siyosat vositalari xizmati (FPI) dastur menejeri Lea Triyes hamda Yevropa Ittifoqining O‘zbekistondagi delegatsiyasining siyosiy masalalar bo‘yicha attashesi Mixaela Zelenyanska bilan uchrashuv o‘tkazdi. Uchrashuv davomida O‘zbekiston hamda Yevropa Ittifoqi o‘rtasidagi munosabatlarning, shu jumladan tahliliy markazlar doirasidagi o‘zaro hamkorlikning bugungi holati va uni yana-da chuqurlashtirish istiqbollari muhokama qilindi. 🔗 Batafsil:https://iica.uz/oz/event/yevropa-ittifoqi-delegatsiyasi-hamda-moxi-ortasida-uchrashuv-bolib-otdi 📝📝📝 Состоялась встреча между МИЦА и делегацией Евросоюза Начальник отдела Международного института Центральной Азии (МИЦА) Данияр Курбанов провёл встречу с менеджером программы Службы Европейской комиссии по инструментам внешней политики (FPI) Леа Триес и атташе по политическим вопросам Делегации Евросоюза в Узбекистане Михаэлой Зеленянска. В ходе встречи были обсуждены текущее состояние и перспективы дальнейшего углубления сотрудничества между Узбекистаном и Евросоюзом, в том числе по линии аналитических центров. 🔗 Подробнее:https://iica.uz/ru/event/yevropa-ittifoqi-delegatsiyasi-hamda-moxi-ortasida-uchrashuv-bolib-otdi 💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz

MOXI direktori ADA Universitetida uchrashuv o‘tkazdi Joriy yilning 18-fevral kuni Boku shahrida Markaziy Osiyo xalqaro instituti (MOXI) direktori Javlon Vaxabov ADA Universiteti prorektori Fariz Ismailzoda bilan uchrashuv o‘tkazdi. Uchrashuv davomida tomonlar O‘zbekiston va Ozarbayjonning ta’lim hamda ilmiy-tadqiqot muassasalari o‘rtasidagi hamkorlikni rivojlantirish masalalari, shuningdek, ikki mamlakat tahliliy markazlari o‘rtasidagi aloqalarni kengaytirish istiqbollarini muhokama qildilar. 🔗 Batafsil:https://iica.uz/oz/event/moxi-direktori-ada-universitetida-uchrashuv-otkazdi 💬💬💬 Директор МИЦА провел встречу в Университете АДА 18 февраля т.г. в г. Баку директор Международного института Центральной Азии (МИЦА) Жавлон Вахабов провёл встречу с проректором Университета АДА Феризом Исмаилзаде. В ходе беседы стороны обсудили развитие сотрудничества между образовательными и научно-исследовательскими учреждениями Узбекистана и Азербайджана, а также перспективы расширения контактов между аналитическими центрами двух стран. 🔗 Подробнее:https://iica.uz/ru/event/moxi-direktori-ada-universitetida-uchrashuv-otkazdi #Azerbaijan#Baku#IICA 💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz

#Uzbekistan #China #IICA #CASS 🟦🟦🟦🟦🟦🟦🟦 Markaziy Osiyo xalqaro instituti hamda Xitoy ijtimoiy fanlar akademiyasi tomonidan tashkil etilgan ilmiy tadbirlar OAV nigohida 📝📝📝 Научные мероприятия, организованные Международным институтом Центральной Азии и Китайской академией общественных наук, в фокусе внимания СМИ. 💬Telegram | 💬Facebook |💬X | 📷Instagram |🌐LinkedIn |🌐iica.uz