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

Резултати

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

Търсене: #croix

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

@GenshinNull · Post #5337 · 15.07.2023 г., 18:03

source@GenshinNull#CroiX [4.0 beta] 枫丹关于希格雯(Sigewinne)的文本 据说, 梅洛彼得堡是个好地方, 在那里不用担心狂风暴雨, 也不用为工资和房租发愁, 只是外出非常不方便而已. 并且, 梅洛彼得堡是一个, 有很多人在里面, 每天认真工作、规律生活的好地方. 有一位叫希格雯的美露莘, 她在梅洛彼得堡照顾生病、受伤的人.

Hashtags

Genshin Null

@GenshinNull · Post #5223 · 06.07.2023 г., 23:42

(1/2/3) @GenshinNull#CroiX 枫丹水之印供奉系统: 露景泉 在枫丹各处冒险时获得「水之印」, 在投入欧庇克莱歌剧院外的露景泉后, 能提升其等级, 获得宝贵的物资[1][2]. 露景泉供奉每一等级需要花费 30 个水之印. 供奉等级受版本制约. 对比须弥的梦之树, 露景泉供奉每提升一等级需要花费的徽印数量少 5 个, 而满级后总共可获得的奖励数量相同[3]. *4.0 版本最大能达到 20 级.

Hashtags

Genshin Null

@GenshinNull · Post #4994 · 24.04.2023 г., 19:56

source@GenshinNull#CroiX [3.7 beta] 多人游戏联机举报添加【举报情景】项, 包括: - 违规昵称 - 违规签名 - 违规会话内容 - 违规尘歌壶摆设布置 - 违规角色名称 - 违规内容

Hashtags

Genshin Null

@GenshinNull · Post #4835 · 08.03.2023 г., 08:43

source@GenshinNull#CroiX [3.6 beta] 「七圣召唤」新增 "决斗回放(Duel Replay)" 功能 与小王子对话可查看回放, 最多保存最近三个对局, 可收藏最多五个.

Hashtags

Genshin Null

@GenshinNull · Post #4785 · 05.03.2023 г., 13:18

3.6 版本主要活动「盛典与慧业」子项目其四「追溯求真」[教程]中的谜题谜面: 追溯求真・之一 一群巡林员正在道成林中巡逻,阿斯蒂和佩迪姆负责勘察周围的环境。但在前进时发现了猛兽,天降暴雨,周围太过泥泞,无法快速离开。 阿斯蒂让佩迪姆告诉后方的另外一队巡林员提高警惕,自己则躲在了树上,直到野兽离去。 过了一段时间,佩迪姆带领另外一队巡林员前来会合。随后他们迅速离开了林子,但只有佩迪姆全身都湿透了。请问这是为什么? 追溯求真・之二 巴赫拉是一位室罗婆耽学院的学生,前段时间他外出研究,途中却接到了导师的信件,让他迅速把错拿出去的某件东西拿回去。他将那件东西用信件寄回了学院。 但当他回到学院时,却依然遭到了导师的一顿痛骂。请问这是为什么呢? 追溯求真・之三 在大家的共同努力下,这次的活动圆满落幕了,每一位在活动期间负责摆出摊位举办活动的人,都会得到一张可以无条件休假三天的假条作为奖励。 但当所有人都得到了假条后,放假条的盒子里却还剩下一张假条。请问这是为什么? (1/2/3/4) @GenshinNull#CroiX

Hashtags

Genshin Null

@GenshinNull · Post #4780 · 05.03.2023 г., 13:01

source@GenshinNull#CroiX [3.6 beta] 七圣召唤 - 热斗模式 在「热斗模式: 全方位后援」的对局中, 所有「切换角色」都将被视为「快速行动」. 此外, 在我方行动期间击倒对方角色后, 继续轮到我方行动.

Hashtags

Genshin Null

@GenshinNull · Post #5389 · 17.08.2023 г., 23:10

(1/2/3) @GenshinNull#timing#CroiX [4.1 beta] 新地图开放 活动页介绍: 残垣与铁壁的变奏 对拯救之路的探求戛然而止, 过去的热情与骄矜而今化作青藤静掩的残垣, 空中破碎的梦想. 而在水面之下, 铁壁之中, 又有别样的生命热力激荡. 冒险者不会歇止, 无论目的地是空中楼阁抑或海谷谜窟. 新增地名 芒索斯山东麓(Mont Esus East) 梅洛彼得堡(Fortress of Meropide) 新枫丹科学院(New Fontaine Research Institute) 中央实验室遗址(Central Laboratory Ruins)

Genshin Null

@GenshinNull · Post #5385 · 17.08.2023 г., 23:10

(1/2/3) @GenshinNull#timing#CroiX [4.1 beta] 版本主活动页面展示 「诗歌言欢」(Poetry Gala) - 使用诗歌会热度(Poetry Gala Fervor)[1]兑换奖励. 「席旁游艺」(Tableside Entertainment) - 「百步礼掷」(Hundred-Pace Hurling Rites)[2] - 「灵感喷激」(Inspiration Eruption)[3] - 「寻景觅画」(Mending Painting Prospects)[4]

Genshin Null

@GenshinNull · Post #5272 · 08.07.2023 г., 22:33

(1/2/3) @GenshinNull#timing#CroiX [4.0 beta] 版本主活动「机枢巧物前哨战」界面展示 Dance Dance Resolution - 「跃动节拍响应法」 Torrential Turbulent Charge - 「湍流疾行冲锋赛」 Efficacy Testing Simulation Arena - 「效能模拟实战环」 Toy Battle Situation Map - 活动剧情相关地图[1][2][3] May fortune smile on you! - 好运同行[4] 活动玩法详情 查看链接

Genshin Null

@GenshinNull · Post #5221 · 06.07.2023 г., 22:15

source@GenshinNull#timing#CroiX [4.0 beta] 活动页展示 00:00 ~ 00:02 「机枢巧物前哨战」 00:02 ~ 00:05 「蹈刃破决」 00:05 ~ 00:08 「光影研学·旖旎水界」 00:08 ~ 00:11 「博物通志·水国寻迹」 00:11 ~ 00:14 地上之海, 万水源流[1](枫丹引导) 00:14 ~ 00:17 发条与齿轮的轮舞曲[2](世界 BOSS 冰风组曲) 00:17 ~ 00:20 地海孤王[3](世界 BOSS 铁甲熔火帝皇) [1]: 从未听闻的故事, 早已遗忘的传说如同沉入水底的失落国度般渴求着游人. 循着水淳淳流来的方向而行, 越过原野, 深林与沙海, 抵达的将是大陆水系的源流之地. 在瀑布顶端, 高原之上的海都深处, 冒险的新章悄然拉开序幕. source [2]: 来自枫丹科学院的献礼, 由精密发条机关带来的霜风的演出. 在伊黎耶岛北侧的花园舞池, 科培琉司与歌裴莉娅等待着, 是否有人愿意加入他们永无止歇的轮舞. 与梅雅德对话时, 将依据对话的选项决定挑战的是荒性的「歌裴莉娅的葬送」抑或是芒性的「科培琉司的劫罚」, 以及完成挑战后通过地脉之花领取的角色突破素材. (1/2) [3]: 在翻腾的湖水之下的洞窟深处蛰居着的是身披铠甲的炽热王者. 替代它愚钝的臣子觐见帝皇, 平息它的怒火吧. source

12
ПредишнаСтр. 1 от 2Следваща