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

Резултати

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

Търсене: #starwars

当前筛选 #starwars清除筛选

«A fin de poder garantizar la seguridad y mantener la estabilidad, de forma inmediata, la República se convierte en el primer Imperio (Galáctico), para preservar el orden y la seguridad de la sociedad.» Darth Sidious, #StarWars: La venganza de los Sith WookieeNews - «A fin de poder garantizar la seguridad y... | Facebook https://www.facebook.com/WookieeNews/posts/a-fin-de-poder-garantizar-la-seguridad-y-mantener-la-estabilidad-de-forma-inmedi/5204325709676648/

Hashtags

DGN

@DansGN · Post #5141 · 29.04.2023 г., 04:20

星球大战 绝地开发组向星球大战 绝地:幸存者PC平台玩家表示正在解决游戏表现不佳的问题 https://vxtwitter.com/EAStarWars/status/1651990800862183426 #StarWars

Hashtags

DGN

@DansGN · Post #5134 · 27.04.2023 г., 01:33

《星球大战 绝地:幸存者》媒体评价解禁,目前 OpenCritic 收录的83家媒体综合评分86。本作将于4月28日正式登陆 Steam,PS5,Xbox Series X|S https://opencritic.com/game/14199/star-wars-jedi-survivor #StarWars

Hashtags

Щукина про ТЦ

@girlinmall · Post #2451 · 12.09.2025 г., 11:19

🤩LEGO Adult 18+ #starwars Всем кидалтам привет! Потому что только у взрослого фаната теоретически найдется $999 на эту игрушку LEGO ⭐️Набор LEGO Star Wars «Звезда Смерти» – серия Ultimate Collector (#75419) состоит из 9 023 деталей по стоит $999.99, что делает его самым дорогим набором LEGO на сегодняшний день. В готовом виде боевая космическая станция представлена в поперечном сечении. ⭐️Можно собрать все культовые локации из оригинальной трилогии: мусорный отсек, сет из битвы Дарта Вейдера с Оби-Ваном, тронный зал Императора. В набор входят 38 минифигурок — Люк, Лея, Хан, Дарт Вейдер, Император, дроиды, штурмовики и другие персонажи. Бонусом при покупке дарят истребитель TIE с имперским ангаром. С 1 октября набор смогут купить участники клуба LEGO Insiders, а с 4 октября - все. Кстати, у коллекционного набора маркировка 18+.

Hashtags

📱Play Market +

@pm_plus · Post #33804 · 07.04.2026 г., 08:11

STAR WARS: KOTOR II 🆕Орден джедаевуничтожен, и единственная надежда Республики — вы, одинокий джедай, потерявший связь с Силой. Именно вам придется принять судьбоносное для галактики решение: идти по пути света или погрузиться во тьму. ⚙️Полная купленная версия (1390₽). Кэш встроен в установщик. #STARWARS@pm_plus#Приключения #Приключения@pm_plus 📱Play Market + ⚡️ НАШ ЧАТ

📱Play Market +

@pm_plus · Post #33370 · 17.03.2026 г., 06:10

STAR WARS: KOTOR II 🆕Орден джедаевуничтожен, и единственная надежда Республики — вы, одинокий джедай, потерявший связь с Силой. Именно вам придется принять судьбоносное для галактики решение: идти по пути света или погрузиться во тьму. ⚙️Полная купленная версия (1390₽). Кэш встроен в установщик. #STARWARS@pm_plus#Приключения #Приключения@pm_plus 📱Play Market + ⚡️ НАШ ЧАТ

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