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

Търсене: #manchester

当前筛选 #manchester清除筛选
Addis Standard

@addisstandardeng · Post #21655 · 09.03.2026 г., 13:46

#IndiGo flight from Delhi to Manchester makes sudden mid-air U-turn near #Ethiopia A #Delhi–#Manchester flight operated by IndiGo made an unexpected mid-air U-turn near the Ethiopia border on Monday, with the reason for the diversion still unclear. Flight 6E33, operated on a Boeing 787-9 Dreamliner, had departed from Indira #Gandhi International Airport in 3New_Delhi on a scheduled service to Manchester in the #United_Kingdom. The aircraft was en route over East Africa when it abruptly changed course and returned toward Indian airspace. Flight tracking data shows that the plane had approached the Ethiopian border before performing the sudden turnaround. There has been no indication of. a technical fault or operational issue, and no official explanation has been provided by the airline. Passengers on board were reportedly unaware of any immediate danger, and the flight later ..... https://web.facebook.com/AddisstandardEng/posts/pfbid0DLWYcW6KDf5PwDbLUSGtFnaFaqFRT4wKEQFRdFoMFMQxHJc2HrXHWDYoZz4FVugvl

香港人的蘋果

@appledailyhk26 · Post #54561 · 01.09.2023 г., 10:44

2023.8.31 我哋捍衛港人陣線主辦嘅「曼城831集會」剛剛結束。現場大約有400位真香港人出席,我哋一齊以海外香港人嘅身份,將黑警831太子站對市民嘅作出恐怖襲擊嘅罪行,再次向英國當地人揭露;並向港共政權,表達出真香港人毋忘831嘅意志。 今次集會,多謝,許智峯、楊穎宇及黃偉國3位嘉賓嘅錄音發言。 3位嘉賓,分別由法律、歷史及道德嘅觀點,解讀黑警831嘅罪行,令曼城嘅真香港人,更加透徹認識中共及港共嘅真面目。 十月一日再見! Posted on @hkidforce #曼城#UK#Manchester#太子831#太子恐襲#黑警#好仔唔當差當差正仆街#警暴#黑警死全家#每日一願望黑警冚家亡

Hong Kong Democracy Movement

@hkdmovement · Post #7969 · 20.04.2025 г., 23:11

曼城街頭流水式集會 Full-Day Rally——Against to unacceptable China Mega Embassy 🗓️ 24 April (Thu) ⏱️ 9am — 4pm 📍 38 Warrington St, Ashton-under-Lyne OL6 7JS (Outside McDonald’s) [無口號和平行動] 過嚟至少拎起塊紙牌show比途人睇有咩危機殺緊過嚟💪🏻 人數及輪替方式:每小時至少20人,無人輪替就一齊企到尾 [如有需要可自備口罩] Source: Manchester Stands With Hong Kong #Manchester#UK#NoMegaEmbassy#NoSuperEmbassy#超級大使館#倫敦#London#英國#鑄幣廠#中國超級大使館#舊皇家鑄幣廠#royalmintcourt