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

Резултати

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

Търсене: #medievaltimes

当前筛选 #medievaltimes清除筛选
DDB汉化屋

@ddbhanhua · Post #3358 · 18.05.2026 г., 11:27

Medieval Times S3 3.0 游戏:中世纪时代 作者:Luriel X 链接:itch,Patreon 历史版本:2.0 大家好! 《中世纪时代》第三季第三章终于来了,这一章为巴拉杜尔带来了不少新场景、系统、修复和改进。 这一章延续了贝内特在镇上的新生活,增加了日常工作、新的遭遇、情感时刻、支线任务,以及一些可能比预期更为私人化的情节。 它还引入了更宏大的核心故事线的初步迹象,该故事将贯穿整个季节,缓慢连接未来的章节,并为贝内特在巴拉杜尔的新生活带来更深层的谜团。 第三章有什么新内容? 新故事内容 第三章新增了巴拉杜尔的一天,延续了班奈特在前几章事件后的日常。有新的剧情场景、新的情感时刻、新的选择,以及更多与杰弗里、凯尔、马格努斯、布鲁尼尔达等角色相处的时间。 根据之前的选择和已完成的内容,还新增了亲密场景和变化。 一个全新的贯穿全季的故事线开始 本章为第三季中展开的更大阴谋埋下了第一颗种子。最初只是围绕巴拉杜尔的小传闻和奇怪细节,随着季节推进,逐渐成为更大故事的一部分。 #MedievalTimes#Luriel

DDB汉化屋

@ddbhanhua · Post #2379 · 10.01.2026 г., 10:52

Medieval Times S3 2.0 游戏:中世纪时代 作者:Luriel X 链接:itch,Patreon 历史版本:1.0 各位朋友!超级兴奋地告诉大家, 第三季第二章现已面向所有玩家开放,其中包含大量全新内容和惊喜彩蛋! 在新的篇章中,你将体验到以下精彩内容: 铁匠铺新增 3 个小游戏, 帮助 Bennett 完成他的新工作,并赚取你的食物! 三首全新原创歌曲 ,包括一首由 Kael 在音乐节期间特别演唱的歌曲,这首歌以西班牙语、英语和德语三种语言录制,方便您选择母语! 一位重要的新角色加入故事 6 位全新配角等你来认识、聊天,甚至可能发展出一段新的关系…… #MedievalTimes#Luriel

DDB汉化屋

@ddbhanhua · Post #1809 · 22.11.2025 г., 11:27

Medieval Times Season2 2.0 游戏:中世纪时代 作者:Luriel X 链接:itch,Patreon 中世纪时光 - 第二季完整版 大家好,最近怎么样?想告诉大家,第二季终于在一个文件中完成了全部内容,准备好在所有平台上使用了!这花了很多功夫,但我最终完成了它。 大量图像已经使用新的纹理重新渲染,一些视频是从头开始重新制作的,我还修复了一些错误,比如在 Android 上导致问题的 Bios 退出按钮,以及其他一些小问题。 最重要的是,所有对话都已经重新设计,变成了更加自然流畅的英语。 希望你们喜欢这次的重制效果 论坛链接: [DDB汉化][Luriel] Medieval Times Season2 2.0 汉化补丁 #MedievalTimes#Luriel

DDB汉化屋

@ddbhanhua · Post #1666 · 08.11.2025 г., 11:08

Medieval Times S3 1.0 游戏:中世纪时代 作者:Luriel X 链接:itch,Patreon 嘿,各位!大家怎么样?经过无数辛勤工作、爱和一些非常晚的夜晚,我终于超级兴奋地要与你们分享《中世纪时代》第三季第一章——我真的迫不及待想让大家玩它! 在巴拉多尔经历了所有事情之后,班尼特正踏入他人生的新的篇章……那些旧伤仍在隐隐作痛,但新的纽带可能改变一切。一如既往——在这个领域,和平永远不会长久。黑暗再次在巴拉多尔中涌动…… 论坛链接: [DDB汉化][Luriel] Medieval Times S3 3.0 汉化游戏 #MedievalTimes#Luriel

Joan of Arc was captured in 1430 during the Hundred Years’ War by the Burgundians, who then handed her over to the English. The preliminary hearings and interrogations in her trial began on January 3, 1431, with the official trial sessions starting on January 9, 1431. She faced charges including heresy and cross-dressing in a politically motivated trial aimed at discrediting her and weakening French morale. Despite her bravery and clear faith, she was found guilty and burned at the stake in 1431 at just 19 years old. Later, she was declared a saint and became a symbol of French unity and courage. ⚔️🔥🙏 [Read more] #JoanOfArc#History#Heroine#MedievalTimes#SaintJoan