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

Търсене: #mbg

当前筛选 #mbg清除筛选
СОЛОДИН LIVE

@goodtraders · Post #8551 · 20.09.2024 г., 13:31

#MBG#Германия#авто 🔴 Акции Mercedes-Benz в Германии упали в пятницу после того, как производитель автомобилей класса люкс снизил прогноз прибыли на весь год. 👉 Автопроизводитель пересмотрел свой скорректированный прогноз доходности продаж до 7,5%-8,5%, что является резким падением по сравнению с предыдущим прогнозом в 10%-11%. 👆 Посмотрите на график: EPS успел уже упасть на почти 50% - и лично мне кажется, что это только начало... Самые дорогие товары длительного пользования первыми реагируют на снижение спроса - у людей просто нет ни возможности ни желания покупать эти товары по современным ценам. Падение покупательской способности населения обычно вызывает рецессию в экономике. За авто следом пойдёт электроника, дискреционные люксовые товары (у топовых брендов уже сокращаются продажи). Ждёмс...

嗨皮快乐屋北京

@hpklwbj · Post #168130 · 25.03.2026 г., 03:23

北京鸡哥🏠在读生🎨 07可看证 极品幼白纯 Age:07年 Height:166cm Cheat:D Weight:42kg ✨明朗干净 配合度高 美丽在线🍑雪白牛奶🥛肌. 皮肤超細膩 白皙滑嫩 🌟 南方小女孩小骨架, 所见即所得 🍭🈵️🈵️女友感 初恋白月光 极品女友体验 只接待高素质K 紧致 一碰就哗哗流水 • 𝐇𝐨𝐛𝐛𝐲兴趣/ 旅游 画画 阅读 烘焙… 等风等雨等你 💗 爆汁水蜜桃🍑 #朝阳双井 #首城国际 #白幼瘦#萝莉#mbg#学生

Crypto Headlines

@market_headlines · Post #27746 · 16.03.2026 г., 21:25

#анлок 🔓 ТОП разблокировок токенов с 16 марта по 23 марта! Cliff Unlocks: ▫️#ZRO - $55,53m ▫️#RIVER - $46,47m ▫️#BARD - $35,03m ▫️#ARB - $10,00m ▫️#MBG - $9,42m ▫️#YZY - $6,80m ▫️#KAITO - $6,45m Linear Unlocks: ▫️#RAIN - $86,51m ▫️#RIVER - $46,47m ▫️#SOL - $43,80m ▫️#CC - $28,89m ▫️#TRUMP - $25,63m ▫️#WLD - $13,64m ▫️#DOGE - $9,51m ▫️#ASTER - $7,39m ▫️#TAO - $7,13m P.S. Cliff Unlocks – разблокировка крупной порции токенов единовременно в конкретную дату. Linear Unlocks – постепенная разблокировка токенов в течение определенного периода (обычно каждый день или каждую неделю по части). Crypto Headlines

Crypto Headlines

@market_headlines · Post #28563 · 20.04.2026 г., 22:40

#анлок 🔓ТОП разблокировок токенов с 20 по 27 апреля! Cliff Unlocks: ▫️#UDS - $42,17m ▫️#ZRO - $41,39m ▫️#MBG - $17,45m ▫️#H - $10,98m ▫️#XPL - $9,28m ▫️#HYPER - $8,62m ▫️#LMTS - $8,25m ▫️#INIT - $7,45m ▫️#KAITO - $7,34m ▫️#SOSO - $5,65m ▫️#MON - $5,12m Linear Unlocks: ▫️#RAIN - $71,82m ▫️#SOL - $39,02m ▫️#CC - $28,53m ▫️#TRUMP - $17,66m ▫️#WLD - $9,65m P.S. Cliff Unlocks – разблокировка крупной порции токенов единовременно в конкретную дату. Linear Unlocks – постепенная разблокировка токенов в течение определенного периода (обычно каждый день или каждую неделю по части). Crypto Headlines