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

Резултати

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

Търсене: #eliesaab

当前筛选 #eliesaab清除筛选

Запечатлеть богатство другой культуры и вывести авторские приемы на новый уровень📈 Так поступил бренд Elie Saab для кутюрной коллекции (Осень-Зима 2019/2020), когда к привычным ближневосточным мотивам добавились восточноазиатские. Обычно дизайнер, Эли Сааб, предпочитает брючные костюмы простых силуэтов, пышные платья, активно использовать бисер, перья и пайетки. Талия на моделях часто завышенная, подчеркнута акцентным ремнем или кроем ткани. Эти важные для бренда фирменные штрихи остались в коллекции, при этом влияние Восточной Азии неоспоримо. Можно разглядеть подобные японскому кимоно рукава, а также пояса, напоминающие матерчатые оби*, которыми девушки подвязывают свои наряды. Активные элементы с вышивкой отсылают к богатейшей азиатской флоре и фауне, собирая воедино образ как историю приключений или оберег. Elie Saab Couture осень-зима 2019/2020 Photo: Filippo Fior / Gorunway. com ©️ текст Анастасия Фокейчева #eliesaab#восточнаяазия#кимоно#catwalk

WISTERIA KIDS

@wisteria_moscow · Post #513 · 16.12.2025 г., 11:56

За новогодним столом – звон бокалов и бой курантов, громкие тосты и разговоры о будущем, а под столом – шепот и смех в ладошку, обмен мандариновыми дольками и вечное, липкое от конфет, волшебное «сейчас».🌟 Самая большая роскошь новогодней ночи - это знать, что в двух сантиметрах от твоих ног, под скатертью среди упавших конфетти живет тот самый искренний и веселый Новый год, в который мы когда-то беззаветно верили.🌟 А вы помните свой «Новый год под столом»?🌟 #wisteriakids#праздник#премиумбренды#eliesaab#emporioarmani

WISTERIA KIDS

@wisteria_moscow · Post #476 · 07.12.2025 г., 10:20

Волшебное преображение начинается в Wisteria🌟 От роскошной эстетики платьев🌟ELIE SAAB, каждая деталь которых достойна выхода на красную дорожку до нежных изящных образов SASHA KIM💜 Девочкам в этих платьях так легко поверить в чудо, ведь, надев их, они превращаются в настоящих принцесс🌟 Приходите в Wisteria, чтобы найти безупречный новогодний подарок и выбрать яркие образы для своих детей🦄 Вместе с Wisteria возможно все – даже менять наряды по мановению волшебной палочки🪄 Сверкающие туфельки🌟 PrettyBallerinas 🌟Приятный бонус Скидка до 25% на нарядные 🌟 для маленьких леди🌟 🌟Хамовники, Саввинская набережная, 13 #sashakim#eliesaab#wisteriakids#детскаямода#prettyballerinas