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

Резултати

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

Търсене: #ru

当前筛选 #ru清除筛选

19.04.26 Сумы - Мирополье Позиционные боевые действия в Сумской зоне безопасности. ВС РФ продвинулись на 1 км от демаркационной линии к Мирополью с восточного направления. Передовая позиция ВС РФ под огнём ВСУ. 1:26 50.993179,35.316483 Источник 21+ Геопривязка #ru

Hashtags

18.04.26 Краснополье - Таратутино Позиционные боевые действия в Сумской зоне безопасности. Передовая позиция ВС РФ в Таратутино подверглась обстрелу ВСУ. ВС РФ продвинулись в Сумской области на 3,5 км и достигли новых позиций в населённом пункте. 0:43 50.728385, 35.375816 Источник 21+ Геопривязка #ru

Hashtags

16.03.26 Северск - Резниковка Активные боевые действия в районе Северска. Пехотная атака ВС РФ в Резниковке. Штурмовая группа зачищает позицию ВСУ в жилой застройке и увеличивает зону контроля на 700 метров. 48.838569,37.977290 Источник https://t.me/OMSBr_123/1754 Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #50029 · 13.04.2026 г., 08:53

13.04.26 Великая Новосёлка - Александроград Активные боевые действия в районе Великой Новосёлки. Военнослужащие ВС РФ занимают новые позиции под огнём противника на рубеже Искра - Александроград. Увеличение зоны контроля ВС РФ на 2,5 км по фронту на левом берегу реки Волчья. 0:26 48.010070,36.619011 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #50008 · 12.04.2026 г., 18:00

12.04.26 Сумы - Мирополье Позиционные боевые действия в Сумской зоне безопасности. Военнослужащие ВС РФ попали под обстрел ВСУ западнее посёлка Мирополье. ВС РФ продвинулись в Сумской области увеличив зону контроля до 3 км от демаркационной линии. 51.037774, 35.344966 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49977 · 11.04.2026 г., 18:17

11.04.26 Константиновка - Долгая Балка Позиционные боевые действия в районе Горловки. Передовая позиция ВС РФ в жилой застройке Долгой Балки под огнём дронов ВСУ. ВС РФ продвинулись на 1 км к северу от Степановки и заняли новые позиции в южной части посёлка Долгая Балка. 0:14 48.481047, 37.607169 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49974 · 11.04.2026 г., 15:21

11.04.26 Краснополье - Новодмитровка Позиционные боевые действия в Сумской зоне безопасности. Штурмовые подразделения ВС РФ продвинулись более 4,5 км в направлении на Краснополье и заняли новые позиции в восточной части Новодмитровки. Передовая позиция ВС РФ в жилой застройке посёлка под обстрелом с дрона ВСУ. 1:38 50.75527, 35.39651 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49961 · 11.04.2026 г., 09:48

11.04.26 Константиновка - Степановка Позиционные боевые действия в районе Горловки. Передовая позиция ВС РФ в окрестностях Степановки подверглась обстрелу со стороны ВСУ. ВС РФ продвинулись более1.5 км и вышли на северные окраины Степановки. 0:39 48.473420,37.613850 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49702 · 06.04.2026 г., 13:38

06.04.26 Северск - Никифоровка Активные боевые действия в районе Северска. Атака ВС РФ пехотным подразделением севернее Никифоровки. Штурмовая группа зачищает позицию ВСУ. ВС РФ продвинулись около 2 км и увеличили зону контроля на рубеже Никифоровка - Каленики. 48.80452, 37.92016 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49698 · 06.04.2026 г., 07:50

06.04.26 Покровское - Берёзовое Позиционные боевые действия в Днепропетровской зоне безопасности. Передовые позиции ВС РФ в Берёзовом подверглись обстрелу ВСУ. ВС РФ заняли ряд новых позиций в посёлке увеличив зону контроля на 1 км. 0:19 47.871420,36.492084 1:13 47.874686,36.491471 Источник 21+ Геопривязка #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49339 · 31.03.2026 г., 17:03

31.03.26 Северск - Кривая Лука Активные боевые действия в районе Северска. Атака ВС РФ подразделением легких мотострелков около Кривой Луки. Штурмовик ВС РФ попал под обстрел ВСУ на трассе к посёлку. ВС РФ увеличили зону контроля выйдя на рубеж Каленики-Кривая Лука. 0:41 48.860286,38.001178 0:43 48.859195,37.930673 Источник 21+ Геопривязка Геопривязка так же по https://t.me/creamy_caprice/11418?single #ru

Hashtags

ZOKA's Channel

@zoka200 · Post #49132 · 27.03.2026 г., 09:17

27.03.26 Красноармейск - Белицкое Позиционные боевые действия в районе Красноармейска. ВС РФ заняли ряд новых позиций в восточной части Белицкого. Передовые позиции в жилой застройке под огнём ВСУ . Продвижение ВС РФ более 600 метров. 0:06 48.40801, 37.1914 0:18 48.40476, 37.19765 Источник 21+ Геопривязка #ru

Hashtags

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