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

Резултати

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

Търсене: #hdvbits

当前筛选 #hdvbits清除筛选
PT风向旗

@Ptfxq · Post #652 · 26.04.2024 г., 01:36

关闭登录的内站登陆方法、各站点的官方群组、频道、机器人等信息。本条消息将及时更新,转发消息请点击👆🏻“PT风向旗“👆🏻查看最新版本 因为 TG 的单条消息的字数限制,故切分消息并按照首字母排序。共三条消息,本条消息为第二条,包含 H-O 开头的站点。 #HaiDan#海胆 什么都没找到 #Hares#白兔 官方群组:https://t.me/+N0woHg6U5rxiNDU1 关门登陆:在网址后加 "/login.php?uid=【你的UID】&passkey=【你的passkey】" 即可。 #HD4Fans#兽#兽站 官方群组:https://t.me/+nsdZLzbuGgllNjJh 关门登录:印象中没关过门 #HDA#HDArea 官方群组:https://t.me/HDArea10000 已停用的官方群组:https://t.me/HDA888 (谨慎加入,群组已无人维护,广告漫天) 关门登录:印象中没关过门 #HDAtmos#阿童木 官方频道:https://t.me/shieldtvpro2019 #HDCity 什么都没找到 #HDHome#家园 官方机器人:https://t.me/hdhome_bot 官方群组:https://t.me/+1tbOWiE-_jk3ZmM1 关门登录:通过官方机器人获取登录链接 #HDKyl#麒麟 官方群组:https://t.me/HDKylin 关门登录:印象中没关过门 #HDMAYI#小蚂蚁 什么都没找到 #HDPT#明教 官方群组: https://t.me/+dBDqruyK6vBkMmZh 关门登录:只能自行备份 Cookies #HDF#HDFANS#红豆饭 什么都没找到 #HDFun#HDZone 什么都没找到 #HDPost#普斯特 官方频道:https://t.me/ptfans 官方群组:https://t.me/ipter 关门登录:印象中没关过门 #HDS#HDSky#天空 官方群组:https://t.me/+9GytY2XsWFBiMjdl 关门登录:只能自行备份 Cookies #HDT#HDTime 官方群组:https://t.me/hdtimeorg 关门登录:印象中没关过门 #HDU 官方群组:https://t.me/joinchat/THLnd2j7-0npuiB7 关门登录:印象中没关过门 #HDVbits 什么都没找到 #HDVideo 官方群组:https://t.me/+KJ134sJuDLs3YmRl 关门登录:提前备份控制面板内 Passkey 登录链接 #HHanClub#HHan#憨憨#大聪明 官方群组:https://t.me/HHANCLUB 关门登录:印象中没关过门 #HitPT#百川#百川PT 什么都没找到 #HTPT#海棠 官方群组:https://t.me/haiatngpt 关门登录:印象中没关过门 #HUDBT#蝴蝶 什么都没找到 #icc2022#icc 官方群组:https://t.me/+ywIbR2vV5PpjNzRk 关门登录:印象中没关过门 #itzmx 什么都没找到 #ilolicon#iloli 官方群组:https://t.me/iloliconpt 关门登录:印象中没关过门 #JoyHD 什么都没找到 #kafei#咖啡 官方群组:https://t.me/PTCafeClub 关门登录:印象中没关过门 #KamePT#龟站 官方群组: 请在站内最下方友情链接寻找 魔法观测机器人:请在站内最下方友情链接寻找 关门登录:印象中没关过门 #Kelu 官方频道:https://t.me/keluone 官方群组:https://t.me/+oKgL8c0HMkBlOWFl 关门登录:印象中没关过门 #Kimoji 官方群组:https://t.me/Kimoji_office 种子推送频道:https://t.me/+6s2LqBQzhUs1MDE1 关门登录:印象中没关过门 #kufei#库非 官方群组:https://t.me/kufeipt 关门登录:印象中没关过门 #LeavesRed#红叶 官方机器人:https://t.me/RedLeavesBot 官方频道:https://t.me/leaves_red 官方群组:https://t.me/redleavesofficial 关门登录:印象中没关过门 #MDU#monikadesign#Monika#莫妮卡 官方群组:https://t.me/+-wrhYBECmPdhNTU1 新种推送频道:https://t.me/+a5DvTkshIZNjYmM1 关门登录:印象中没关过门 #MT#MTeam#馒头 官方频道:https://t.me/M_Team 中文官方群组:https://t.me/M_Team_Chat 英文官方群组:https://t.me/MT_English_Off 关门登录:印象中没关过门 #NicePT 官方群组:(未找到有效的加入链接) #NYPT#南洋 什么都没找到 #OB#OurBits#我堡 官方机器人:https://t.me/OurbitsHelpBot 官方群组:绑定官方机器人加入 关门登录:官方网址后加 "/gohome.php" 即可看到相关说明。 #okpt 官方频道:https://t.me/okptnet 官方群组:https://t.me/+pjkIHKL3FYw4OWI1 关门登录:官方群组内置顶登陆链接 #OPENCD#皇后 官方群组:https://t.me/+hM3ggZP7UHliZjA1 关门登录:只能自行备份 Cookies #Oshen#欧神 什么都没找到