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

Резултати

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

Търсене: #his

当前筛选 #his清除筛选

#his ✅ Устозимиз Нурбой Жабборов домла шеърларимиз таҳлилига бағишланган “Ер нега кифтини силкиди?” номли мақолани ҳам эълон қилибди. Зийрак олим таҳлиллари давомида бир жиҳатга алоҳида урғу берибдилар: “...Умуман, Фахриддиннинг шеърларида Ер, тупроқ образлари энг фаол қўлланиши кузатилади. Жумладан, “Мен ким ўзи – тупроқдир аслим” сатри билан бошланган “Мен ким ўзи?” шеъри “Она юртим, пойингда хоксор Тупроқ бўлиш қанчалар юксак”, тарзида хулосаланган. “Ёмғир” сарлавҳали шеъри эса “Мен тупроқман безабон, бесас” мисраси билан якунланади...”. Устознинг, аввало, меҳридан, сўнгра топқирлигидан бениҳоя хурсанд бўлдим ва тупроқ тушунчаси ёки образи, деймизми, тупроқ фалсафаси, деймизми, ўзим ҳам бироз изоҳ бергим келди. Публицистикада қоғоз қоралайманми, назмдами, доимо ёзганларимдан тупроқ иси келиб туришини истайман. Чунки, тупроқ бу – тан, бадан, инсон. Биз Одамнинг тупроқдан яралганини идрок этамиз, ишонамиз. Тупроқ бу – ватан, юрт. Инсоннинг олий бурчларидан бири киндик қони томган тупроқни асраш, авайлаш, уни дунёга келтирган она каби меҳр бериш, ундан баҳра олиш саодатидадир. Тупроқ бу – ризқ-рўз, насиба. Қорнингни тўйғизади, бағрида табиат яшиллигининг илдизини тутиб, оламни яшнатиб туради. Тупроқ бу – инсоннинг энг гўзал фазилати ҳам бўлиб, камтаринлик, ҳокисорлик, ҳамиша дунёнинг ўткинчи эканини ҳис қилиб туриш деганидир... 🖊t.me/faxriddinhayit

Hashtags

小喵的ACG黄油 (重开版)

@xiaomiaogame · Post #2288 · 24.01.2026 г., 05:00

ほんの好奇心での賭けだったのに…巨乳彼女が友人に寝取られ、快楽に堕ちていく 他的赌注,她的代价 押上本人女朋友 His Bet, Her Loss 官方中文步兵版 错误修复 这有点尴尬,但翻译文件存在一个相当大的错误。当希瑟说话时,语音台词没有播放。我刚刚修复了它。请让我知道问题是否仍然存在。 另一个我修复的小错误是温泉场景后卧室背景不显示。 你是不是也想测试一下女朋友的忠诚度?最好先玩一下这个NTR小游戏,旁观过卡尔和海瑟的爱情考验,再决定要不要犯贱。 游戏介绍: “你不觉得很假吗?那种情况在现实中绝对不可能发生,就是纯粹的A片逻辑!” 酒吧里,卡尔和德里克一起喝酒吹水。效力于同一支篮球队的他们,是一对剑拔弩张的竞争对手。卡尔正在吐槽他刚刚看过的一部A片。不到五天的时间,一个女孩就背叛了交往多时的恋人,简直不要太荒谬。然而,德里克却认为一切皆有可能,趁机提出“我们可以测试一下你的女朋友”。 安卓dl版 评分 作者 #Hangover Cat #PC#安卓#NTR#NTRS#巨乳#动态#步兵#官中 #ほんの好奇心での賭けだったのに…巨乳彼女が友人に寝取られ、快楽に堕ちていく #他的赌注,她的代价 #押上本人女朋友#His Bet, Her Loss 下载地址