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

Резултати

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

Търсене: #standwithukraine

当前筛选 #standwithukraine清除筛选
CC垃圾桶

@caliban01 · Post #7615 · 01.08.2025 г., 22:45

@Caliban511(Caliban)-317478871 IMG 065.mp4 https://youtu.be/_FNhKkhc7I4 Info: 1080x1920 22.5MiB 68s Download token count: free 9, pay 0 Downloaded by sg-vu #StandWithUkraine

CC垃圾桶

@caliban01 · Post #7614 · 01.08.2025 г., 22:44

@Caliban511(Caliban)-317478871 세림잉 심뽀찜뽀 (chzzk,twitch).mp4 https://youtu.be/Nj9SxNvvEpM Info: 1920x1080 73.3MiB 141s Download token count: free 9, pay 0 Downloaded by sg-vu #StandWithUkraine

24.02 будет 3 года с начала полномасштабной кровавой войны в Украине. #standwithUkraine — значит быть на стороне тех, кто не сдаётся в борьбе за свою свободу и свое будущее. Это значит выбирать человечность, а не тиранию. Сейчас, как никогда, важно поддержать Украину. В этом году российские активисты Штутгарта приняли решение не проводить своих мероприятий в связи с датой и призвать к максимальной поддержке Украины. Мы знаем, что многие участники нашего сообщества всегда участвовали в акциях, организованных украинской диаспорой, по личной инициативе. Ниже будет репост украинских мероприятий. ❗ВАЖНО❗ В связи с последними тенденциями в российской оппозиции мы считаем необходимым проговорить, что ЛЮБАЯ РОССИЙСКАЯ СИМВОЛИКА НЕ УМЕСТНА на украинских демонстрациях! ❕Большая просьба при участии в акциях, организованных украинцами, НЕ ПРИНОСИТЬ БСБ ФЛАГИ И ТЕМ БОЛЕЕ ТРИКОЛОРЫ❕ Вашего личного участия уже достаточно, чтобы заявить позицию и поддержать людей. We stand with Ukraine 💙💛

Matters | 閲讀精選

@MattersHub · Post #681 · 04.03.2022 г., 23:22

🇺🇦 用 web3 的科技力量關注烏克蘭戰爭 https://reurl.cc/EpLpm1 自從烏克蘭官方推特公開加密錢包地址並接收捐款,Web3 正式踏入烏克蘭戰爭的戰場。Matters 整理了這篇專題,帶你認識加密貨幣在本次戰事發揮的力量,以及更多相關優質文章:https://reurl.cc/EpLpm1 🇺🇦 從烏克蘭戰爭看加密貨幣「參戰」想像 https://reurl.cc/RjEjRG 「首次國際對某件事情的支持可以如此輕易地以加密貨幣實現,而由於去中心化的本質,這何嘗不是顯示了國際上的『民意』。」 🇺🇦 烏克蘭戰爭之Web3觀察:哪些項目方出來說話 https://reurl.cc/OpLpQr 作者整理 Web3 世界有公開站出來 #StandWithUkraine 的項目。不僅僅是捐款,也有藝術創作、利用社群流量進行跨界聲援。 🇺🇦 聚焦烏俄 | 最不幸的一代 https://reurl.cc/VjQj2n 「二十年後的駐莫斯科記者可以說是最不幸的一代。2000年後駐俄羅斯的記者們被迫記錄一個國家走向封閉的過程,信息又在暗中收歸到克里姆林周圍。」 🇺🇦 烏克蘭語與俄羅斯語有何異同 https://reurl.cc/rQ4Q0y 作者做了專業的烏克蘭語及俄語的比較,「儘管把語言和政治、身份、民族等放在一起是語言學界想盡量避免的。但在這個特殊時刻,請不要把烏克蘭語與俄語混為一談。」

Бүгін Ресейдің Украина еліне ауқымды соғыс жариялағанына тура бір жыл толып отыр. Бұл күндері әлемнің түкпір-түкпірінде Украинаны қолдайтын акциялар өтіп жатыр. Кадрда: Тарас Шевченко мүсіні, Алматы, Қазақстан, 24.02.2023 ——— Сегодня ровно год с начала полномасштабного российского вторжения в Украину. В эти дни по всему миру проходят акции памяти и солидарности с Украиной. На кадрах: 24.02.2023, памятник Тарасу Шевченко в Алматы, Казахстан. 📷 Малика Ауталипова, Тимур Нусимбеков #StandWithUkraine

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