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

Резултати

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

Търсене: #9nine

当前筛选 #9nine清除筛选
Galgame分享频道

@xiaomenggalgame · Post #123 · 16.11.2025 г., 03:28

9-nine-九次九日九重色 ▎介绍 白巳津川(しろみつがわ)市,唯一的特色也就仅仅只有作为学园都市这点了。 打算招来观光客来进行城市复兴、却毫无作用。 但是,却在意想不到的情况下聚集了所有人的视线—— 态度粗鲁,却有着强烈的责任感和行动力的可靠青年・新海翔(にいみ かける)。 虽然嘴巴上会抱怨,但却有着温柔的性格会把周围的事情放在首位。 虽然过着普通的学园生活,却没想到因为弄破了祭祀在白蛇九十九神社的神器、而让他的日常产生了变化。 并且,在其阴影下还有着觉醒了异能的少年少女。 明明只是住在一个毫无特色的街道中、没有任何特点的平凡的学生。 新海翔、却被卷入了由异能者们所引发的不幸的命运中。 ▎获取 PC仓库 安卓仓库 ▎标签 系统:#PC#安卓 类型:#galgame#NSWF#汉化 系列:#9nine#KRKR 出版:#Palette

Galgame分享频道

@xiaomenggalgame · Post #142 · 26.11.2025 г., 06:52

9-nine-雪色雪花雪之痕 ▎介绍 白巳津川市,是除了学园都市这点之外没什么其他特色的地区。 由于大地震,神社中祭祀白蛇九十九的神器破损, 来自平行世界能授予持有者特殊能力的装饰品アーティファクト流入了这个世界。 主人公「新海翔」利用各种渠道,调查并解决了利用超越人理的特殊能力作恶的事件。 判明一切黑幕的始作俑者之后,「ソフィーティア」也拜托他们击败它。 一切开始的那天,白蛇九十九神社剧本祭典被大地震打断的那天, 拥有所有技能记忆的翔,开始着手解决这个事件。 同时来自玖方女学院拥有正义感的少女「結城希亜」, 她的能力「ジ・オーダー」(The・Order)也判明是推倒イーリス的关键。 翔也如实告知希亜她的能力是与众不同的。 アーティファクト流出的真相,魔眼使用者的结局。 拥有异能的少年少女们的命运究竟是―― ▎获取 PC仓库 安卓仓库 ▎标签 系统:#PC#安卓#模拟器 类型:#galgame#NSWF#汉化 系列:#9nine#KRKR 出版:#Palette

Galgame分享频道

@xiaomenggalgame · Post #139 · 24.11.2025 г., 11:46

9-nine- 新章 ▎介绍 这是一个有待拯救的故事。 新海诚完成了他未竟的事业。 一个影子挡住了他的去路。 从这里开始,这个故事将是这个分支的延续。 也是最好结局的延续。 翔和他的朋友们在恢复和平的支部里的日常生活。 为找回文物而跳舞。 激动人心的快乐时光 现在,我们可以开始了吗? 最后的观察… ▎获取 PC仓库 安卓仓库 ▎标签 系统:#PC#安卓#模拟器 类型:#galgame#NSWF#汉化 系列:#9nine#KRKR 出版:#Palette

Galgame分享频道

@xiaomenggalgame · Post #136 · 22.11.2025 г., 03:17

9-nine-春色春恋春熙风 ▎介绍 白巳津川(しろみつがわ)市,唯一的特色也就仅仅只有作为学园都市这点了。 升级后不久,主人公周遭发生了变化。 由于大地震,神社中祭祀白蛇九十九的神器破损,来源于异世界的不可思议的装饰品“アーティファクト”(Artifact)流入了这个世界。 发生了使用超出人类认知范畴的力量,将人石化的事件。 深知石化事件的犯人就是持有“魔眼アーティファクト”之人,主人公“新海翔”和同班同学“九条都”以及妹妹“新海天”一起开始了对连续石化事件的调查。 在调查中,和自称「リグ、ヴェーダ」的アーティファクト使用者组织发生了冲突。 而在「リグ・ヴェーダ」的成员中,竟然发现了学园前辈“香坂 春風”的身影。 魔眼所有者的真实身份。ソフィーティア的秘密。 秒回异能觉醒的少男少女的故事终于渐入佳境。 ▎获取 PC仓库 安卓仓库 ▎标签 系统:#PC#安卓#模拟器 类型:#galgame#NSWF#汉化 系列:#9nine#KRKR 出版:#Palette

Galgame分享频道

@xiaomenggalgame · Post #113 · 11.11.2025 г., 11:03

9-nine-天色天歌天籁音 ▎介绍 白巳津川(しろみつがわ)市,唯一的特色也就仅仅只有作为学园都市这点了。 为了城市的复兴不停努力却未尝胜绩,被笼罩在灰色的阴霾中。 由于大地震,神社中祭祀白蛇九十九的神器破损,来源于异世界的不可思议的装饰品“アーティファクト”(Artifact)流入了这个世界。 “アーティファクト”的持有者能够获得特殊能力。 最近发生的人体被石化的事件正是由于这种超乎常理的力量被恶人所用导致的。 负责可靠的主角“新海翔”在得知正直坚强的“九条都”在着手解决这件事情的时候,提出想要协助她的建议。 而随着天真烂漫的妹妹“新海天”的加入,三人便开始了连续石化事件的调查。 白巳津川发生的怪异事件,暗藏心中的爱意,神秘的组织。 如今,“アーティファクト”使用者的命运与意志互相交织。 ▎获取 PC仓库 安卓仓库 ▎标签 系统:#PC#安卓 类型:#galgame#NSWF#汉化 系列:#9nine#KRKR 出版:#Palette 推荐:#编辑推荐#五星推荐