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

Търсене: #gardendesign

当前筛选 #gardendesign清除筛选

🙋‍♂️Дорогие друзья. Запускаем марафон с подарками от Андрея Малышева. ❗️Вопрос-Ответ. Почему название ютуб канала Андрея называется «Розовое Дерево»? ✅небольшая подсказка🤫 с чего всё начиналось, именно начало работы Андрея в далёком 2002 году. Но главное кто является синонимом, и в какой книге я нашёл название, автор книги и как называется 📙книга. За правильный ответ вы получаете невероятные подарки🎁. ❗️❗️❗️Анонс акции состоится 11 октября в 12:00 в прямом эфире телеграмм канала «Розовое Дерево» Андрей расскажет более подробно об акции и даст подсказки. Гортензия от селекционера Гвидо Руветт с5л 🔥Бонфайр(Bonfire) и новинку от селекционера Алекса Шумейкера, самая зелёная Гортензия в Мире Литл Аппл(Little Apple/Living No 1826-2.) ❗️Ждём ваших ответов, пишите мне в личку. Подписываемся на Ютуб канал Андрея Малышева «Розовое Дерево»https://youtube.com/channel/UCM66apHukow6v2zY3GJmt6A?si=eCcZ1EVSieOIpf7V и Телеграм канал «Розовое Дерево»https://t.me/+_Uj47ervUqFhYTli ✅ДОСТАВКА ПОБЕДИТЕЛЮ ЗА СЧЁТ АНДРЕЯ, ТК Сдек или Почта РФ❗️ Борьба будет 🔥жаркой, всего один ответ(правильный) и один победитель🌟 Количество подарков ограничено!!!🎁 всего один комплект!!! 🙋‍♂️вручение подарка в прямом эфире телеграм канала «Розовое Дерево»❗️🥳🥳🥳 По наличию и заказу 📲☎️8-926-645-46-99 Андрей✅Wats app, Viber, Telegram http://питомник-гортензий.рф/ПРАЙС/ Наша группа 🌀ВКонтакте и telegram ✅питомник-гортензий.рф👍💯 на Ютубе канал ❤️🌸Розовое Дерево🌸 Соцсеть @sadovnik_ma, наши главные спонсоры этого марафона конечно мои друзья, Борис из Алтайского Края с его замечательным Ютуб каналом ✅Борис Борисов @borisiv1990n(https://youtube.com/@borisov1990n?si=83KJ26kZkwpEdcHm) , Константин Сапожников с его замечательным ютуб каналом ✅Сам Себе Аграном @SamSebeAgronom(https://youtube.com/@samsebeagronom?si=6tXGrzNIdLear9la) и вторым каналом в телеграм СамСебеАгроном(https://t.me/SamSebeAgronom), моя ❤️лучшая дачная фея 🤗🌟Ольга Платонова с её ютуб каналом(https://www.youtube.com/c/PlatonovaOlga) телеграмм каналом (https://t.me/platonovaolechka), Инстаграм каналом (https://www.instagram.com/platonovaolechka/), а также звезда театра и кино с мужем 🌟Анастасия и Роман Макеевы/Мальковы)ютуб канал(https://youtube.com/@malkovamakeeva?si=hhp0x7pnAp9w5klT), ✅Виноград Ульяновска- https://t.me/vinograd73, Инстаграм: Vinograd_ulsk, https://vk.com/vinograd_ulsk, https://youtube.com/@vinograd_ulsk?feature=shared, ✅Дом и Сад семьи Бадаеевых(@badaevshouse) это Инстаграмм канал, ✅Людмила Кудасова( Lyudmila Kudasova) ютуб канал https://youtube.com/@l.kudasovasad?si=5yvgh35VC6pDwwpO #гортензия#гортензии #гортензияметельчатая#гортензиякрупнолистная#гортензииметельчатые#гортензияказань#гортензияалматы#гортензиямосква#гортензииастана#гортензиякраснодар#гортензияуфа#gidrangea#paniculata#garden#gardenflowers#gardening#gardendesign