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

Резултати

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

Търсене: #yarzoo

当前筛选 #yarzoo清除筛选

🐾В гости к Уме и Топе🐾 🐻Наши бурые медведи Ума и Топа начали подготовку к долгой зимней спячке ещё летом. К процессу они подошли основательно и уже заметно прибавили в весе. Но пусть вас не обманывают их округлые формы — наши мишки полны энергии и продолжают весело проводить время! 🤗Они плескаются в воде, играют друг с другом и кувыркаются, заряжая радостью и положительными эмоциями всех вокруг. Обязательно загляните к ним в гости — пусть эта встреча станет ярким событием вашего дня! ⏰️Ярославский зоопарк открыт с 10:00 до 20:00 (кассы до 19:00)! #yarzoo#ярославскийзоопарк#yaroslavlzoo

❓️Собаки бывают летучие 🦇Да-да, именно такие представлены на экспозиции «Ночной мир» в Зооэкзотариуме Ярославского зоопарка. Это нильские крыланы, известные также как египетские летучие собаки. Несмотря на название, с обычными собаками у них общего ничего нет. 🦇Живут крыланы большими группами. Любимые места обитания — это дупла старых деревьев, заброшенные постройки, однако больше всего они любят пещеры. Именно поэтому вольер крыланов специально оборудован таким образом, чтобы воссоздать атмосферу естественной среды обитания — пещеру 🍏Интересно, что крыланы питаются фруктами, соком плодов и нектаром. После сытной трапезы крыланы обязательно проводят гигиенические процедуры: чистят шерстку, кожаные перепонки и даже зубы! 😊Вот такие забавные животные скрываются в темноте экспозиции «Ночной мир». ⏰️Увидеть забавных нильских крыланов приглашаем в Зооэкзотариум Ярославского зоопарка ежедневно с 10:00 до 20:00! (кассы до 19.00) #yarzoo#ярославскийзоопарк#yaroslavlzoo

❗Сегодня среда, а это значит - льготное посещение зоопарка! Сегодня у льготных категорий граждан есть отличная возможность посетить основную территорию, Альпака-парк, контактный сектор и Ковчег абсолютно бесплатно! Ярославский зоопарк ждет в гости ежедневно с 09.00 до 21:00 (кассы до 20:00)! Подробно о льготном посещении на сайте #yarzoo#yaroslavl#ярославскийзоопарк#yaroslavlzoo

❗Льготное посещение зоопарка! Сегодня среда, а это значит - льготное посещение зоопарка! Сегодня у льготных категорий граждан есть отличная возможность посетить основную территорию, Альпака-парк, контактный сектор и Ковчег абсолютно бесплатно! ⏰Ярославский зоопарк ждет в гости ежедневно с 10:00 до 20:00 (кассы до 19:00)! Подробно о льготном посещении на сайте #yarzoo#ярославскийзоопарк#yaroslavlzoo#бесплатно

❄️Первые заморозки! 🍁Вот и наступили первые заморозки - тончайший слой инея укрыл траву и деревья, лужи замерзли, а воздух наполнен тонким ароматом свежести и приближающейся зимы. 🍂 Природа вокруг словно замирает перед началом долгого сна. Животные спешат завершить приготовления к холодной зиме: одни меняют шубки на теплые зимние, другие усердно накапливают жировые запасы. 🍁Зоопарк сегодня погрузился в особую атмосферу тишины и умиротворения. Насладитесь этими чудесными мгновениями осени! ⏰️Ярославский зоопарк ждет в гости ежедневно с 10:00 до 18:00! (Кассы до 17.00) #yarzoo#ярославскийзоопарк#зоопарк#yaroslavlzoo

🐪В гости к верблюдам 🐫 💪Представляем вам настоящих гигантов зоопарка – верблюдов. Только, представьте, их рост превышает целых два метра! 🐪🐫У нас содержаться как двугорбые, так и одногорбые верблюды. Они дружелюбны и довольно любопытны. Несмотря на распространённый миф, наши верблюды не имеют привычки плеваться в посетителей. Это настоящие добродушные великаны, наблюдение за которыми приносит положительные эмоции каждому гостю зоопарка 🐾Приходите знакомиться с верблюдами!🐾 ️⏰️Ярославский зоопарк рад встречать гостей ежедневно с 10:00 до 20:00! (Кассы до 19.00) #yarzoo#ярославскийзоопарк#зоопарк#yaroslavlzoo