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

Резултати

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

Търсене: #scriptcat

当前筛选 #scriptcat清除筛选
折腾实验室频道

@TossLabChannel · Post #73 · 31.10.2024 г., 06:33

#脚本猫#ScriptCat#linuxdo #大麦抢票脚本猫油猴插件 全自动抢票,自动提交订单 本脚本后续不会更新 如果你抢周杰伦或者其他演唱会时出现 该渠道不支持购买 那么是正常的 因为网页端抢票被官方ban了 无法解决 抢票之前务必在APP内填写好收货地址和观影人信息!! 抢不到是正常现象 拼的是网速 😀教程地址:点击链接 😀脚本猫地址:点击链接 📢 群聊:@TossQL 🎈 频道:@TossQLChannel

折腾实验室频道

@TossLabChannel · Post #11 · 16.10.2024 г., 07:18

#脚本猫#scriptcat#task#签到#任务#script 微软积分商城签到v1.1.4.1 简介 每天自动完成 Microsoft Rewards 任务获取积分奖励, ✅必应搜索任务(Web)、 ✅每日活动任务(Web)、 ✅更多活动任务(Web)、 ✅新闻阅读任务(App)、 ✅每日签到任务(App)、 使用说明: 搭配ScriptCat完成定时脚本 Microsoft Rewards积分兑换地址:点击链接 作者geoi6sam1 ScriptCat:点击链接 源地址:点击链接 📢 群聊:@TossIPhone 🎈 频道:@TossIChannel 每天推送有用有趣的内容,包括但不限于#Emby#VPS#APP#Crack#Task#Lottery#Mooch#AppleNews#还有每天都有的抽奖活动,加入我们,一起搞机,一起折腾!

折腾实验室频道

@TossLabChannel · Post #10 · 16.10.2024 г., 07:18

#Task#Scrip#定时#签到#脚本猫 #ScriptCat -脚本猫 脚本猫,一个可以执行用户脚本的浏览器扩展,万物皆可脚本化,让你的浏览器可以做更多的事情! 安装脚本 可以从各大用户脚本市场获取脚本进行安装,脚本猫所支持的后台脚本专门建立了一个市场:后台脚本. 安装方式与油猴一样,同时也是兼容绝大部分油猴脚本的 开发文档 尽力完善中,因为是参考油猴的设计,与油猴脚本相通的地方很多,就算你使用其它油猴管理器,你也可以参考脚本猫的文档来开发! 安装扩展 我们已经上架了扩展商店,如果你无法访问商店内容,请在release中下载 zip 包手动进行安装 扩展商城 • Chrome 商店 • Edge 商店 • FireFox 商店 交流 • Telegram • 油猴中文网 📢 群聊:@TossIPhone 🎈 频道:@TossIChannel 每天推送有用有趣的内容,包括但不限于#Emby#VPS#APP#Crack#Task#Lottery#Mooch#AppleNews#还有每天都有的抽奖活动,加入我们,一起搞机,一起折腾!