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 подобни публикации

Търсене: #ptfans

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

@Ptfxq · Post #653 · 26.04.2024 г., 01:37

关闭登录的内站登陆方法、各站点的官方群组、频道、机器人等信息。本条消息将及时更新,转发消息请点击👆🏻“PT风向旗“👆🏻查看最新版本 因为 TG 的单条消息的字数限制,故切分消息并按照首字母排序。共三条消息,本条消息为第三条,包含 P-Z 开头的站点。 #pandapt#大熊猫 官方频道:https://t.me/+JrJOaxdj5iVlZGU1 官方群组:https://t.me/+jsSiVvKa2MNiMmU9 关门登录:印象中没关过门 #Piggo#猪猪网 官方机器人:https://t.me/PigGo_official_Bot 官方群组:绑定官方机器人加入 关门登录:通过官方机器人获取登录链接 #Pter#PterClub#猫#猫站 官方机器人:https://t.me/PTerClubBot 账号问题申诉机器人:https://t.me/trackermodbot 官方频道:https://t.me/PterClub 官方群组:https://t.me/+Inhlbr6qmaBlZjQ1 关门登录:通过官方机器人获取登录链接 #PTH#PTHome#铂金家 官方机器人:https://t.me/Pthome_Bot 官方频道:https://t.me/mypthome 官方群组:https://t.me/+UffbhnOHu8oApN67 关门登录:通过官方机器人获取登录链接 #PTChina#铂金学院 什么都没找到 #PTFans 什么都没找到 #PTsbao#sbao#烧包 官方机器人:https://t.me/sbao_bot 官方群组:https://t.me/+ceZMEkPs6d5kNTZl 旧的官方群组:https://t.me/joinchat/MRSnwRYOgdhqVH7CvMlZqg 关门登录:官方机器人 或 网址后加 "/adminer.6b72d14a2b5f0d92a740ccb55a2599d8.php" 即可看到相关说明。 #PTT#PTTime 什么都没找到 #PTLSP 官方频道:https://t.me/PTLSP_Official 官方群组:通过站内 PM 站长申请加入 关门登录:印象中没关过门 #ptvicomo#象站#象岛 官方机器人:https://t.me/PTVicomoBot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #Qingwa#青蛙 官方机器人:https://t.me/qingwaking_bot 官方群组:https://t.me/+iI18wsDQ1hQ1ZTZl 关门登录:通过官方机器人获取登录链接 #rousi#肉丝 官方群组:https://t.me/rousiclub 关门登录:网址后加 "login.php" 即可。 #sharkpt#鲨鱼 官方机器人:https://t.me/sharkpt_bot 官方频道:https://t.me/shayupt 官方群组:https://t.me/shark_pt_offical 关门登录:印象中没关过门,如果登录不上挂个梯子试试 #SJTUPT#SJTU#葡萄 什么都没找到 #SkyeySnow#天雪 什么都没找到 #soulvoice#聆音 官方群组:(未找到有效的加入链接) #srvfi 官方群组:https://t.me/srvfiraws 关门登录:印象中没关过门 #Tccf#他吹吹风 什么都没找到 #TJU#TJUPT#北洋#北洋园 官方机器人:https://t.me/TJUPT_bot 官方频道:https://t.me/tjupt2010 关门登录:通过官方机器人获取登录链接 #TLF#TLFBits 官方频道:https://t.me/tlfbits 官方群组:https://t.me/joinchat/nAqf8pC6Y1lkNWFh 关门登录:印象中没关过门 #TTG 准官方频道:https://t.me/joinchat/VXzcnSsRa8DttakH 准官方群组:https://t.me/+KCkEpVCikBZjZjQ1 关门登录:只能自行备份 Cookies #U2#幼儿园 无任何官方频道、群组、机器人,也没关过门。 目前比较活跃的非官方群组需要通过非官方机器人加入 https://t.me/UCoinLoginBot 还有魔法观测、宕机推送等频道需要通过非官方机器人加入 https://t.me/U2ObserverBot #Ubits 官方群组:https://t.me/Ubits_chat 关门登录:印象中没关过门 #UltraHD 官方机器人:https://t.me/ultrahd_kf_bot 官方群组:(未找到有效的加入链接) 关门登录:通过官方机器人获取登录链接 #WinterSakura#冬樱 官方群组:https://t.me/+T4YrDUV-C3hkZGRl 关门登录:印象中没关过门 #xingtan#杏坛 官方群组:(未找到有效的加入链接) 关门登录:印象中没关过门 #YDY#伊甸园 官方群组:https://t.me/YDYPT (谨慎加入,群组已无人维护,广告漫天) 关门登录:网址后加 "/login.php" 即可。 #ying#starspace#影#星空 官方频道:https://t.me/ShadowFlow_Official_Channel 官方群组:https://t.me/JHnYgw0OGY1 关门登录:印象中没关过门 #zmpt#织梦 官方频道:https://t.me/zmptcc 官方群组:https://t.me/+ZGBAaRcU_pBmZjFl 关门登录:官方频道内会发布登录链接 #zhuque#朱雀 官方机器人:https://t.me/ZHUQUE_helper_bot 官方频道:https://t.me/channel_zhuque 官方群组:https://t.me/group_zhuque 关门登录:通过官方机器人获取登录链接