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

Търсене: #clowdbot

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

@TossLabChannel · Post #961 · 29.01.2026 г., 01:02

#AI#工具推荐#Moltbot#clowdbot 🤖Moltbot:能“真正做事”的开源个人 AI 助手 ㅤ ⭐ 什么是 Moltbot? Moltbot 是一个开源、自托管的个人 AI 助手。由clowdbot团队开发,与普通的问答聊天机器人不同,它是一个能真正“执行任务”的智能代理。它运行在你自己的设备或服务器上,通过 WhatsApp、Telegram、Slack 等常用通讯软件接收指令,并为你处理实际工作。 ㅤ 💡 核心特点 • 执行力强:不仅仅是陪聊,它能自动检查邮件、安排日程、运行脚本、整理文件甚至处理复杂的工作流,且支持后台常驻,无需重复输入上下文。 • 隐私安全:完全自托管,运行在本地环境,数据无需上传至第三方云服务。 • 无缝集成:直接对接你日常使用的聊天工具,指令发送如同聊天一样自然。 • 社区火爆:🔥GitHub Star 数高达 60,000+ 至 80,000+,表明其深受开发者认可,社区活跃度极高。 ㅤ 📝 总结 Moltbot 就像一个“会动手的 AI 助理”,它超越了单纯的信息交互,更像是一个听得懂自然语言的自动化工具。对于重视隐私且希望 AI 能协助处理具体事务的用户来说,这是一个极具价值的开源选择。 🤖懒得部署的直接领取: https://teamoteam.com/t?a=clawdbot 🔘@TossLab🔘@TossLabChannel