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

Резултати

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

Търсене: #cybermonday

当前筛选 #cybermonday清除筛选
NEA Singapore

@NEASingapore · Post #286 · 25.11.2021 г., 02:01

It’s sales galore, with #BlackFriday, #CyberMonday, and the 12.12 sales coming up in the next few weeks, but before tapping on the check out button, ask yourself: “Do I really need this?” For instance, if your current electronic device isn’t working, try sending it for repair, to save it from the landfill. And if it is beyond repair, don’t forget to drop it in a recycle bin. More at https://go.gov.sg/nea-recycle-e-waste #RecycleOurEWaste#SayYEStoWasteLess

📣Awesome Black Friday Cyber Monday | 438+ 软件优惠汇总 高质量黑五折扣一站查全的开源清单 🖼 标签:#黑五折扣#软件优惠#CyberMonday#黑色星期五 📱 简介:Awesome Black Friday Cyber Monday 是一个由独立开发者维护的 开源黑五 / 网一折扣清单项目,专门筛选“来自官方渠道、质量可靠”的软件优惠。目前清单已收录 438+ 款应用折扣,覆盖效率工具、开发者工具、创意类软件、系统增强、订阅服务等多个分类,页面结构清晰,查找特定类型的工具非常省时间 💬 小编有话说:黑五最怕信息过载,这份开源清单胜在“干净+高质量”,真能省不少事 📖Github 📄相关阅读: ✅ Mac App 及提供黑色星期五优惠信息 ✈️官网 · 🎓Github ✅ macOS/iOS软件和书籍黑色星期五特惠,集合了有几百家活动 🎓Github 😌频道 |🙂群聊 |🤓中文包 |🚇搜索

折腾实验室频道

@TossLabChannel · Post #903 · 28.11.2025 г., 17:41

#BlackFriday#CyberMonday#软件优惠#折扣合集#黑五优惠 🎁黑五软件优惠精选合集(Awesome Black Friday Cyber Monday) ✨ GitHub 上极其热门的黑五/网一折扣清单项目,目前已获得 7,200 Star,足以证明它在技术社区中的高热度与可靠度。 该项目长期维护,收录超过 500 款软件、App、SaaS 优惠,全部为纯软件类,不含课程与书籍,适合开发者、效率爱好者、AI 工具用户集中查找折扣。 🔍 主要分类 🧰 开发者工具 📱 效率 / Productivity 应用 🤖 AI 工具(Chat / 办公 / 图像 / AI) 🎨 设计 / 营销 / SEO 工具 🚀 Startup & SaaS 🛠️ 实用工具与综合类 ⭐ 特色亮点 • 长期更新、整理精细 • 大量独立开发者产品 • 多数条目包含折扣码或促销链接 • 分类明确,找优惠非常方便 🔘@TossLab🔘@TossLabChannel

BAGO home

@bagohome · Post #100 · 30.01.2023 г., 15:25

Сегодня не просто понедельник, а КИБЕРПОНЕДЕЛЬНИК!💥💥💥 А это значит, что у вас осталось всего 24 часа на то, чтобы заполучить свои любимые новогодние ароматы с 20% скидкой!😱 К тому же при оформлении заказа до 31 января доставка до пункта выдачи абсолютно бесплатная!👌 Успевайте порадовать себя и своих близких❤️ Наслаждайтесь! На фото чудесные ароматические свечи из коллекции WINTER WONDERLAND в красивых подарочных коробках. В коллекции представлено три аромата: "Ночь перед Рождеством", "Фея Рождества" и "Новогоднее настроение". Стоимость каждой такой свечи с учетом скидки - 1 352 руб.* *Цена действительна до 23:59 31.01.2023👌 https://bagohome.com/shop/ #bagohome#sale#cybermonday#киберпонедельник#распродажа#скидки#скидка#новогоднийсейл#новогодняяраспродажа#зимняяраспродажа#зимниескидки#новогодняяколлекция#зимняясказка#ароматыдлядома#подарки#подарочныенаборы#аромасвечи#свечиизсоевоговоска#соевыесвечи#ручнаяработа#приятныйаромат#уютныйдом#дом#парфюмдлядома#домашняяпарфюмерия