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

Резултати

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

Търсене: #zoo

当前筛选 #zoo清除筛选

новый lookbook коллекции Fall 2024 Thom Browne похож на творчество AI 🤔 "Романтизм" коллекции поддерживают отсылки к знаменитому Nevermore - стихотворению Эдгара Аллана По, точнее, «Ворон» (принты в форме ворон не случайны). Мы выбрали два образа, которые за счёт принтов и многослойности отсылают к народным традициям в одежде. Хотя надо признать, что далеко не все образы ассоциируются с фолком и уж тем более с таинственной и мрачной атмосферой Nevermore, но, видимо, модельер взял сам принцип рефрена - хотя от изобилия принтов ворона и бесконечной повторяемости их на одежде невозможно достичь того же эффекта, который достиг в своё время Аллан По своим незабываемым "Quoth the Raven “Nevermore.” 14 февраля показ коллекции пройдёт в рамках New York Fashion Week. В любом случае, Том Браун создал её не зря, по меньшей мере это был повод ещё раз перечитать те самые стихи. #zoo

Hashtags

Zoo Family

@zoo_story · Post #254 · 28.01.2025 г., 13:44

🆕 What Animal Are You at Work? Over 3.6 million Stories on Telegram have already been posted with the hashtag #zoo! Thank you for your incredible engagement, frens! Meanwhile, we’ve launched a new quiz in the app that we think you’ll love. Don’t miss out — check it out!

Hashtags

Zoo Family

@zoo_story · Post #204 · 22.01.2025 г., 17:46

🆕What Animal Are You in Friendship? Frens, you've already shared over 3.3 million Stories on Telegram with #zoo. We're thrilled you enjoy taking quizzes, so we've added a brand-new one in Zoo! Now's the perfect time to try it out, share your story, and earn some Animal Feed!

Hashtags

Zoo Family

@zoo_story · Post #177 · 18.01.2025 г., 15:41

🆕What animal are you on vacation? There are already nearly 3 million Telegram Stories with the hashtag #zoo. Incredible! Meanwhile, we’ve just launched a new quiz. Hurry up, check it out, and find out for yourself!

Hashtags

Zoo Family

@zoo_story · Post #96 · 03.01.2025 г., 06:24

🆕 New Quiz Did you know there are over 1,100,000 Stories on Telegram with the hashtag #zoo? To keep the fun going, we've launched a brand-new quiz for you to enjoy and earn even more Animal Feed! Don’t wait — jump into the app now and share your Stories! P.S. Only 28 days left until the mining phase ends!

Hashtags

123•••10•••1213
ПредишнаСтр. 1 от 13Следваща