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

Резултати

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

Търсене: #ricochet

当前筛选 #ricochet清除筛选

💙💙 𝑹𝑰𝑪𝑶𝑪𝑯𝑬𝑻 𝐫𝐞𝐯𝐢𝐞𝐰 💙💙 𝑹𝒊𝒗𝒆𝒓 𝑯𝒂𝒍𝒆 ♥️𝘐 𝘤𝘰𝘶𝘭𝘥 𝘵𝘳𝘺 𝘵𝘰 𝘴𝘢𝘷𝘦 𝘮𝘺 𝘴𝘰𝘶𝘭 𝘢𝘵 𝘵𝘩𝘦 𝘳𝘪𝘴𝘬 𝘰𝘧 𝘭𝘰𝘴𝘪𝘯𝘨 𝘮𝘺 𝘮𝘪𝘯𝘥 𝘵𝘰 𝘵𝘩𝘦 𝘴𝘩𝘢𝘥𝘰𝘸𝘴.♥️ MM WARNING! Даже не знаю, как поскромнее выразить свою любовь к этим двум абсолютно ненормальным парням. 🖤Враги / соперники → возлюбленные 🖤Хоккейный роман 🖤Золотой мальчик × плохой парень 🖤Тайные отношения 🖤Противоположности притягиваются 🖤Тронь его и умрешь Книга с одержимым, собственническим, безумно горячим главным героем, с парнями на льду и кровью на руках, с болью и утешением, с ужасным прошлым, с сомно (да, да и им обоим это нравится). Это было идеально. ИДЕАЛЬНО. Эта книга вцепилась мне в горло с первой страницы… и не отпустила даже после того, как я её дочитала. От неё невозможно было оторваться. Мне было всё равно на мелкие недочёты в тексте — единственное, что имело значение, это то, что будет дальше между Каллумом и Стоуном. Я не буду вам пересказывать сюжет, потому что иначе будут совсем не те ощущения. Но я абсолютно точно рекомендую эту книгу, если вы не против парня психопата и серийного убийцы по совместительству с хоккеем. Серьезно, только если вы не против подобных тем. Иначе даже не суйтесь сюда. Стоун — именно тот защитный психопат, который нужен Каллуму. И да… именно нужен. Прошлое Каллума — по-настоящему тёмное. После смерти матери он был вынужден остаться с отчимом. Думаю, можно представить себе картину, какой оказалась его жизнь после. Оно вызывало во мне такую злость, что я сама ловила себя на том, что мыслю, как Стоун… серьёзно. На протяжении книги Каллум постепенно принимает своё прошлое и свои потребности, чтобы хоть как-то сохранить рассудок… ну, почти. И знаете что? Мне даже понравилось, что у него есть свой личный «эмоционально поддерживающий психопат», которого можно сдерживать… или выпускать на волю, когда это необходимо. Честно, книга почти потеряла у меня много баллов в моменте, когда Стоун едва не убивает Кэла из-за раскрытия своего секрета. Но, к счастью, нам показывают его внутреннюю и внешнюю борьбу и автор отлично сглаживает это мощным гровелингом высшего уровня. К тому же эта сцена стала важнейшим переломным моментом в их отношениях и в итоге мне даже понравилось, как всё обернулось. В книге отлично сбалансированы хоккей, сюжет, страсть и эмоции и мне это безумно понравилось. Я вообще не понимаю, как Ривер удалось уместить ВСЁ это в одну книгу, но… вау. В общем, добавлю её в свой топ мм романов, однозначно. #отзыв#ricochet ♥️♥️♥️♥️♥️♥️

Видеотека 📼

@videotekashow · Post #14142 · 05.08.2025 г., 18:35

Классный альтернативный постер к фильму Рассела Малкэхи «Рикошет». #ВИДЕОТЕКА #Ricochet #Рикошет #DenzelWashington #ДензелВашингтон #JohnLithgow #ДжонЛитгоу