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

Резултати

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

Търсене: #null

当前筛选 #null清除筛选
Genshin Null

@GenshinNull · Post #5915 · 28.07.2024 г., 15:48

原神未实装角色信息记录 v1.7.8 1. 补充遗漏的角色「队长」卡皮塔诺(Capitano). 2. 修复附表尺寸. 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5912 · 27.07.2024 г., 15:58

原神未实装角色信息记录 v1.7.7 1. 移除已自机角色: 艾梅莉埃(Emilie). 2. 移除追踪超时角色: No.1(木乃伊少女), 塔利雅(Dahlia). 3. 添加「引燃」PV 角色: 玛拉妮(Mualani), 基尼奇(Kinich), 卡齐娜(Kachina), 茜特菈莉(Citlali), 希诺宁(Xilonen), 伊安珊(Iansan), 恰斯卡(Chasca), 欧洛伦(Ororon). 4. 添加新角色: 歌尘浪市真君(Streetward Rambler), 卡皮塔诺(Capitano). 5. 补充角色新信息: 玛薇卡(Mavuika), 茜特菈莉(Citlali), 希诺宁(Xilonen), 伊安珊(Iansan), 恰斯卡(Chasca), 欧洛伦(Ororon). 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5892 · 22.06.2024 г., 15:40

原神未实装角色信息记录 v1.7.5 1. 移除已自机角色: 克洛琳德, 希格雯, 阿蕾奇诺, 赛索斯. 2. 添加新角色: 希巴拉克, 艾莉丝, 杜林. 3. 更新角色信息: 艾梅莉埃. 4. 补充「追踪超时」移除条件. 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5887 · 17.06.2024 г., 15:47

关于希巴拉克(Xbalanque)和玛雅神话 希巴拉克首次出现于那维莱特的官方角色预告中的角色评论, 称号为 "随葬源火者(One Entombed With the Primal Fire)", 这个称号的英译再回译即 "随原初之火殉葬的人". Xbalanque 出自玛雅神话 "英雄双胞胎" 中的双生半神之一, 另一位是 Hunahpu. 双子主题的神话在美洲原住民文化之中经常出现, 包含希巴拉克在内的双子一共有三对, 分别为: Hun Hunahpu & Vucub-Hunahpu, Hunahpu & Xbalanque, Hun Batz & Hun Chouen. 按照玛雅圣书《波波尔·乌(Popol Vuh)》的记载, 第一对双子 Hun Hunahpu & Vucub-Hunahpu 在冥界入口玩耍时被邪神设计杀害, 尸体被埋葬在冥界, 随后墓中长出一棵能结出骷髅的树, 这些骷髅中有双子之一 Hun Hunahpu 的头颅, 并且能够开口说话. 之后, 冥界一位领主的女儿 Xbaquiyalo 公主因为好奇而找到这颗树, 树上的 Hun Hunahpu 头颅引诱公主靠近并施展了咒语让公主怀孕. 公主逃到了冥界之外躲开了追杀, 在 Hun Hunahpu 的母亲的帮助下诞下第二对双子 Hunahpu & Xbalanqu. 第二对双子被母亲抛弃而长期流浪, 直到被他们的继兄们收留为仆人, 在被继兄强迫劳动的同时, 双子发现了自己的神力, 于是决定惩罚自己的继兄, 双子让继兄爬上一棵树并用神力让树长高, 这对被惩罚的继兄既是第三对双子 Hun Batz & Hun Chouen, 由于受到了第二对双子的惩罚, 第三对双子变成了猴子, 因此也被叫做 "猴子双胞胎". 之后, 第二对双子在世间历练, 并发现了父亲和叔叔的遭遇, 于是回到了冥界替父报仇, 消灭了两位邪神. 玛雅文明分布于中美洲(现今墨西哥东南部), 与原神纳塔原型相符, 因此可以推测该角色将会在纳塔版本推出. 在社区中已经有关于希巴拉克的传闻, 但现今没有更多有价值的情报. @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5804 · 22.03.2024 г., 15:21

原神未实装角色信息记录 v1.7.3 1. 添加新角色: 「火之魔神」, Sethos. 2. 移除已自机角色和过时信息. 3. 移除追踪超时角色: No.1 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5734 · 14.02.2024 г., 17:58

原神未实装角色信息记录 v1.7.2 1. 添加克洛琳德(Clorinde)武器类型. 2. 更新塔利雅(Dahlia)角色信息. 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5721 · 04.02.2024 г., 06:41

原神未实装角色信息记录 v1.7.0 1. 移除已自机角色: 娜维娅(Navia), 夏沃蕾(Chevreuse), 闲云(Xianyun), 嘉明(Gaming). 2. 移除过时信息: 千织(Chiori), 希格雯(Sigewinne). 3. 更新角色信息: 克洛琳德(Clorinde), 希格雯(Sigewinne), 阿蕾奇诺(Arlecchino). 4. 分离附表. 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5648 · 18.12.2023 г., 14:08

原神未实装角色信息记录 v1.6.9 1. 移除已自机角色: 芙宁娜, 夏洛蒂. 2. 添加新角色: 闲云(Xianyun). 3. 补充角色信息: 嘉明(Gaming), 希格雯(Sigewinne), 千织(Chiori), 阿蕾奇诺(Arlecchino) 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5574 · 21.10.2023 г., 10:48

原神未实装角色信息记录 v1.6.8 1. 移除已自机角色: 那维莱特, 莱欧斯利. 2. 移除过时信息: 芙宁娜(Furina), 阿蕾奇诺(Arlecchino), 千织(Chiori). 3. 更新角色信息: 夏沃蕾(Chevreuse), 艾梅莉埃(Emilie). 4. 移除追踪超时角色: 杰吉特(Djajeet), 伊赫珐(Ikhfa/Ikhya), 纳芙丝/娜芙丝(Nafs/Narfs), 多托雷(Dottore). 下载原图 | 站外下载 @GenshinNull#null

Hashtags

Genshin Null

@GenshinNull · Post #5489 · 21.09.2023 г., 11:45

原神未实装角色信息记录 v1.6.7 1. 移除已自机角色: 林尼(Lyney), 琳妮特(Lynette), 菲米尼(Freminet). 2. 更新角色信息: 希格雯(Sigewinne), 夏洛蒂(Charlotte), 阿蕾奇诺(Arlecchino), 芙宁娜(Furina). 3. 移除过时的角色信息: 克洛琳德(Clorinde), 千织(Chiori). 4. 将表格 "神之眼" 列名更改为 "属性". 下载原图 | 站外下载 @GenshinNull#null

Hashtags

123•••10•••1516
ПредишнаСтр. 1 от 16Следваща