@ThemesM8 · Post #237 · 20.10.2021 г., 07:38
https://t.me/addtheme/dr7xG2Qjtbe2TaMr 🌈@ThemesM8✨ #light#white#pink#purple#pastel#diamond#gem#android#cute#soft#desktop
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #721 · 26.12
Почему я люблю языки с сильной системой типов, проверяемой статическим анализом кода — хорошо написанная программа является своей собственной спецификацией и позволяет выражать через язык программирования законы существования предметной области. Когда-то давно я писал на ActionScript. Там была система типов, но вот десериализация JSON'ов по-умолчанию была в какой-то общий Object, к полям которого нужно было обращаться ["по_строковому_имени"]. В один момент мне потребовалось написать что-то на C#, который я совсем не знал, я стал гуглить, как десериализовать JSON, и с удивлением обнаружил кучу советов заранее объявить класс со всеми нужными полями и десериализовать в него. "Какой ужас!", — подумал я тогда, — "Это же дико неудобно! А если я не знаю полей JSON? А если их много? Отвратительный язык!" Теперь то я прекрасно понимаю, что JSON это контракт, и что правильная десериализация только такая и должна быть, и что в хорошем API в одном поле никогда не бывает данных принципиально разных типов, и так далее. Нет, если вы набиваете вечерами пет-проект или сидите бессонную ночь на хакатоне, нет ничего плохого в том, чтобы взять простой язык с динамическими типами вроде JavaScript или Python, не требующий описывать данные. Но вот в энтерпрайзе, особенно когда над одним проектом работает много людей (а бывает это очень часто) — хорошее использование системы типов убережёт разработчиков от огромного количества ошибок, будет бить их по рукам, когда они пытаются сделать что-то не то, и будет подсказывать, когда они не уверены в чём-то. С помощью статической типизации можно на уровне кода обозначить правила, по которым ведёт себя предметная область вашей программы в реальном мире. Разработчику не только будет сложно их нарушить, но он ещё и станет узнавать какие-то вещи, которые мог не знать раньше. Например, если мы делаем медицинскую CRM, и больница заводит новых пациентов только тогда, когда знает их группу крови, мы можем объявить тип "Пациент" (или, если точнее, "Карта пациента") и запретить создавать экземпляры этого типа, не передав в конструктор группу крови (которая, в свою очередь, тоже является типом, вероятнее всего ValueObject'ом). Если новый программист пришёл в проект, он, во-первых, не сможет записать в БД некорректную карту пациента. Понятно, мы не учитываем случаи, когда новый программист переделывает модели предметной области — это будет хорошо видно на кодревью. А, во-вторых, даже если ему никто не сказал, что пациенты должны быть с группой крови, он узнает это из кода. И уже будет понимать, что в тех процессах реальной жизни, которые он описывает кодом, карта пациента создаётся только при наличии группы крови. А, значит, нужно искать какой-то способ сначала эту группу крови получить, и только потом создавать карту. Программирование моделирует реальный процесс. В настоящей работе даже на языках с типами, конечно, без должного контроля можно написать что угодно. Нужна управленческая воля, компетентность руководства, понимание опасности техдолга, в идеале отдельные должности для архитекторов, опытные лиды и старшие разработчики. Но когда всё это есть, можно отсекать много проблем ещё на старте и проще погружать новичков. #dev
Hashtags
Търсене: #diamond
@ThemesM8 · Post #237 · 20.10.2021 г., 07:38
https://t.me/addtheme/dr7xG2Qjtbe2TaMr 🌈@ThemesM8✨ #light#white#pink#purple#pastel#diamond#gem#android#cute#soft#desktop
@DMJ_Themes · Post #139 · 23.09.2019 г., 12:42
New Worlds by @DMJ_Themes https://t.me/addtheme/NewWorlds #dark#theme#darkjunglegreen#celestialblue#diamond#ruddybrown#tigerseye
@airdropstrikers · Post #1163 · 01.04.2023 г., 16:28
✅ TOKEN R4 ✅ Great Opportunity 🔥 TR4 | #TOKENR4 💎#Diamond Trend Now #1 | @token_r4 💕 Pinksale Launchpad: https://www.pinksale.finance/launchpad/0x34a7B6D6a41404ac891e7edf7f7cCA869A296250?chain=BSC ♻️Contract address: 0x302c32754c41427E9ced1DC61E01D4Db437CEd88 🔵Telegram: https://t.me/TokenR4 🌐Website: https://www.tr4.io/ #BNB#BSC#GEM#NTM#BNBChain
@sanpeterburgo · Post #2187 · 16.01.2026 г., 15:00
🎉 Дети до 7 лет бесплатно!🎉 ❓ Не знаете, куда сводить ребенка в Самаре? ❓ А может быть сами хотите окунуться в свое детство? 🤩 Когда глаза светятся от удивления, сердце замирает от восторга, а мир кажется волшебным? 🪄 🎪 Тогда спешите на яркое представление «Звёзды манежа» от Московского цирка-шапито «Даймонд» в Самаре! 🎪 🤗 Здесь происходит настоящее чудо: взрослые заново переживают радость своего детства, глядя на восторг ребятни 👫. Взгляд малыша, полный восхищения и удивления, пробуждает давно забытые чувства и объединяет сердца родителей и их драгоценных чад в единое целое 🧡. ✨ Вас ждут: ✨ - 🤯 Феерия воздушных гимнастов, парящих над ареной словно птицы 🤯 - 🤸♂️ Дерзкие акробатические номера, заставляющие затаить дыхание 🤗🫣 - 🤡 Искромётные клоунады, включая выступления легендарного Армена Асирянца - мастера доброго смеха, обладателя золотой медали всемирного конкурса в Италии 😄👏 - 💪 Захватывающие силовые трюки, демонстрирующие невероятную мощь человеческого тела 💪 -🦁🪱 Уникальный зверинец: австралийские пумы, пушистые канадские самоеды, гигантские питоны, забавный енот и даже колючий дикобраз под управлением лучших дрессировщиков 🐾 Место действия: 📍г. Самара, мкр. Южный берег, ул. Каширская, 3 парковка ГМ «Магнит» (очень большая и удобная) Время действия: ⏳ 28 марта 2026, суббота, 13:00 ⏳ 🎫Возможность окунуться в детство в один клик (дети до 7 лет - бесплатно) 🎭 Сделайте подарок своему ребенку и себе - поймайте волну вдохновения и окунитесь в мир ярких и неповторимых эмоций! #Самара #март #цирк #шапито #циркшапито #клоун #Diamond #Диамонд
@ThemesM8 · Post #242 · 13.11.2021 г., 15:51
https://t.me/addtheme/TAMhdsn5gRnEDibc 📐@ThemesM8📏 #dark#black#gray#android#desktop#math#geometry#geometric#triangle#rectangle#circle#diamond#line