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

Резултати

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

Търсене: #syria

当前筛选 #syria清除筛选

После резни алавитов и друзов начался погром против сирийских христиан. Исламисты из соседних деревень начали нападать на христианские предприятия и дома в Аль-Сукейлабии (Сирия). То, что произошло сегодня, не будет последним разом. К сожалению, это будет повторяться снова и снова, потому что те, кто хочет уничтожить меньшинства, чувствуют себя воодушевлёнными, терпимыми и даже поощряемыми. Молитесь за сирийских христиан, но не останавливайтесь на этом. Говорите об этом. Делитесь этим. Молчание мира — часть трагедии!!! 🙏🏼#syria

Hashtags

DruschbaFM - English

@druschbaFm_en · Post #52007 · 12.03.2025 г., 18:41

At least 1,383 civilians, mostly Alawites and Christians, were killed in a wave of violence that swept across Syria's Mediterranean coast — the Syrian Observatory for Human Rights #Syria

Hashtags

Nieuwe gouverneur van Damascus verdedigt Israëlische aanvallen op Syrië "Het is begrijpelijk dat Israël zich zorgen maakt als er een nieuwe regering aan de macht komt in Syrië." "Misschien was Israël bang en daarom gingen ze door met een beetje bombarderen." "We zijn niet bang voor Israël en we hebben geen probleem met Israël. We willen ons niet bemoeien met iets dat de veiligheid van Israël bedreigt." #Syria

Hashtags

代理人戰爭 美國單邊主義VS土耳其奧斯曼主義:敘利亞目前的局勢和跡象表明,這對加薩的抵抗非常不利,因為敘利亞臨時政府沒有發表任何支持巴勒斯坦軍事抵抗的聲明,而北部地區的派系衝突尚未停止. +以色列佔領敘利亞領土,HTS沒有抵抗. #Syria https://t.me/NEWWORLDORDYR/27084

Hashtags

新敘利亞政府如果支持巴勒斯坦武裝抵抗,那就不會徹回經濟制裁。 這些由極端遜尼派恐佈組織(伊斯蘭國:華哈比) 背景的新敘利亞領袖骨子裡就是美國深層政府的政治代理, 用來領導愚蠢的反對派民眾, 目的就是為大以色列計劃開路。(土耳其顎圖曼主義派趁機瓜分利益, 趕絕庫爾德人。) 註: 土耳其總統沒有真正支持巴勒斯坦抵抗, 而且一直為以色列供應物資。 #Syria

Hashtags

HTS 發言人 Obeida Arnaout 被第四頻道新聞詢問有關以色列對敘利亞 300 多個地點的襲擊(最新更新:480 次襲擊)。 HTS 發言人:我們的首要任務是恢復安全和服務並恢復平民生活。 記者:我知道這不是你的首要任務,但你是否誠實地告訴我,你對以色列襲擊這個國家的300個地點沒有發言權? HTS發言人:毫無疑問,我們希望每個人都尊重我們的主權。 #syria

Hashtags

POPULAR FRONT

@popularxfront · Post #6175 · 06.05.2026 г., 08:14

🇸🇾#Syria: Clashes broke out overnight between the Syrian Army (HTS) and alleged Uzbek jihadist militants in the Idlib countryside, around the villages of Al Foua, Kafraya, and Binnish. Reportedly, the clashes occurred after several days of protests following the arrest of several Uzbek fighters. (via @KurdishFrontNews)

Hashtags

POPULAR FRONT

@popularxfront · Post #5952 · 19.04.2026 г., 09:17

🇸🇾#Syria: Protests erupted overnight in the city of Qamishli in al-Hasakah Governorate after a man, allegedly from the Rashid tribe, reportedly shot at the Kurdish flag and toward a security checkpoint at the entrance to the city. (via @Intel_Rojava)

Hashtags

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