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

Резултати

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

Търсене: #i

当前筛选 #i清除筛选

#i — ✨назовите фандом, а автор тгк скажет. . .✨ 1️⃣➖ своего любимого персонажа ✨➖ своего нелюбимого персонажа ✨➖ любимый пейринг ✨➖ своего кинна ✨➖ свой нелюбимый пейринг ✨➖ кто понравился ему первый 7️⃣➖ как узнал от этом фандоме ✨➖ своё мнение о фандоме ➡️источник – буду рада рт!

Hashtags

中文名: Ingress(INGRESS THE ANIMATION) 话数: 11 放送开始: 2018年10月17日 放送星期: 星期三 导演: 櫻木優平 脚本: 月島総記、月島トラ、赤坂創 分镜: 山元隼一、ソエジマヤスフミ、上條嘉之、黒川智之 ☺️评分:6.2 还行 💙故事简介 2013年,瑞士的原子核研究机构“CERN”—— 在希格斯玻色子这一发现的暗影之下,某个秘密计划启动了。 这一计划的名称是“Niantic计划”。 其目的是研究干涉人类精神的未知物质。 被称为“奇异物质(XM)”的这种物质, 自古以来就感应着人们的精神及能力,甚至给人类的历史带来了极大的影响。 世界各国的机关暗中进行着这项研究。 XM被视为人类的希望或是威胁, 大国及巨大企业为此而爆发了争夺战。 接受XM的力量,并准备将其利用于人类进化的“启蒙军”。 将XM视为威胁,并准备控制它的“反抗军”。 世界划分为这两大阵营,至今仍在持续着争斗。 在这个世界发生的争斗背后,正是XM的存在。 之后,2018年——。 以东京和世界为舞台,围绕着XM的新战斗开幕。 将动画、在线位置信息游戏以及现实连结起来, 从未体验过的全新“增强现实娱乐”开始了。 💔OneDrive:打开表格 😱百度网盘:点击下载 😄往期番剧汇总表格:打开 🔐解压:blackcatunderthemoon 引索:#I 标签:#游戏改#科幻 🗣请不要在讨论中打开链接,请使用频道消息的链接或者表格,讨论中的链接是失效的,百度网盘是自提取,如果没有自提取复制链接可以看到提取码,禁止在线解压

Javohir Ahmadjonov

@javohir_akhmadjonov · Post #1359 · 30.04.2023 г., 15:58

#befarqemasman🇺🇿 Kech boʻlishiga qaramasdan, oʻz kelajagim uchun ovoz berdim. #I’mnotindifferent🇬🇧 I voted for my future even though it was late. Kanalga ulanish: ➡️@javohir_akhmadjonov

无损音乐分享频道

@d_wusun · Post #6117 · 16.04.2026 г., 00:27

名称:阿杜 - 2005年专辑 - I Do - Flac 描述:《阿杜:I Do》男人的梦,男人的痛,永远不变的守候,阿杜为你唱出心中的沧桑与深情。阿杜最新国语专辑《I Do》,再度发挥他威力无比的演唱功力,更结合了包含师弟林俊杰在内的七大制作人三地跨国同步制作,并收录了阿杜最新创作单曲《这首歌是谁写的》。 01.I...Do 02.下雪 03.睡不着 04.一天天一点点 05.有你才完整 06.西出阳关 07.抬起头 08.如果你爱我 是因为我爱你 09.相信我可以 10.这首歌是谁写的 链接:https://pan.quark.cn/s/3b2b5b91a9f4 📁 大小:273MB 🏷 标签:#阿杜#I Do #音乐#无损音乐#猪儿虫

Pensive|

@PensivePost · Post #4841 · 30.01.2021 г., 06:20

#review#yourreview#sm#i’mABrokenMan I’m a broken man don’t know who to trust. Being a broken man allows you not to trust. I’m a broken man with lots of blood, bleeding from the heart like a river. Being a broken man helps people raft on the red stream And they don’t give a damn, whether you die in shiver The moon is the only friend who acknowledges my tears. Stars, like a bodyguard help me fight out my fears. But sun, sometimes behaves as a foe for his rays of light, focuses me to reach my actual height. Nevertheless, I’m a broken man. Broken down piece by piece by the sword, of the goddess of beauty sharpened up with innocence, cunning ferocity. Never even cared, if I’m happy or sad, wouldn’t even matter if I’m alive or dead. I’m a broken man, who knows how to fix the glasses. But, being a broken man, There comes a why. Why even bother , rebuilding it. Everything broken down into bits and pieces. And so am I.

123•••56
ПредишнаСтр. 1 от 6Следваща