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

Резултати

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

Търсене: #iwatch

当前筛选 #iwatch清除筛选

iWatch丨我的生产力常驻工具 我的手表已经是个非常完善、好用的工具,生产力应用使用频率甚至超过手机,我几乎不用手机进行生产活动。(如阅读、处理和撰写) 我将主要功能集中在一个表盘: 一、中间是个动态任务提醒功能,使用「滴答清单」排期提醒,这让我无压工作和专注当前。 二、下左一是任务添加功能,使用「滴答清单」一键语音添加任务,比起邮箱、微信的其它方式直接秒了。你甚至可以仅用来灵感收集/ 记录想法。 三、下中间是个灵感收集功能,使用 VoiceNotes 语音添加灵感然后转文本到我笔记软件 Roam,主要使用 Zapir 将两者自动化联动起来。 四、其它显示为:日期、时间、电量和短信。上滑小组件我还添加了计时、「找手机」等功能。 五。其它使用为:一键解锁 Mac、使用 StressWatch 随时监测和提醒我的 HRV(心率变异性)、睡眠监测、来电震动提醒(我常年静音漏掉电话)。这些都非常好用。 --- 整体来说,iWatch 值得,替代了我移动端手机灵感收集和记录的便利,稍大的手机屏幕,可能仅承担我搜索查询、AI 互动和其它「临时生成」功能。关于电量,洗澡时充电完全可以循环上。 #iwatch#productivity

小小溪部落

@tribebrook · Post #1300 · 01.03.2026 г., 08:39

▎腕能 App 软件整合了影音娱乐、资讯阅读、文件管理几大核心场景,除了以上功能外,还内置了基于 HRV(心率变异性)、静息心率、睡眠质量多种健康状态提醒,抬腕即可查看实时压力。 🗒 标签: #iOS#腕能#iwatch ❣️别忘记参与抽奖 (以下三个群都在抽TG会员) 华人社区 华人时报华人事件 🌟 小贴士: 限免 / 兑换码具有时效性! 置顶频道 + 开启推送, 福利抢鲜一步! 📢 频道💬 群组🤖 解封 / 投稿 📱TG/GV号购买

🔻标题:ZuUnlock_1.9.1 让iPhone/iWatch蓝牙解锁电脑 🌈说明: 使用ZuUnlock需先注册,见评论区 ZuUnlock 是个挺有意思的小工具:用 iPhone 或 Apple Watch 靠近 Windows 电脑即可自动解锁,离开自动锁屏,靠蓝牙距离感应实现。现阶段限时免费,想体验“苹果解锁 Mac”同款效果的可以试试。 📃下载地址: 夸克盘 / 蓝奏云 ✉️标签:#zuunlock#iwatch#iphone#pc

🔻标题:iOS免费ID分享/Grow会员账号/解压小橙子会员账号_9.29 分享日期:2025.09.29 说明:"Grow"是一款综合健康管理App,可记录步数、睡眠、HRV压力、运动、喝水等并支持家人互助;"解压小橙子"则专注于通过HRV和心率数据监测心理压力与减压,两者都依托苹果iOS和Apple Watch健康数据。 这里分享已购年度会员账号,免费使用表盘和实时HRV压力监测 ID分享: "Grow"ID: 账号1: [email protected] 密码1: Rs44886. 账号2: [email protected] 密码2: Zx11994& 账号3: [email protected] 密码3: Lwx@199812 Grow相关说明: 操作好后(手机和手表都是会员后)手机后台退出grow软件,再退出账号!登回你自己的 恢复成功后,手机端不要打开Grow,手表就一直是会员,手机端打开Grow会员就会掉,就需要重新登录ID了 ================= "解压小橙子"ID: 账号: [email protected] 密码: W6HPdUbH47 解压小橙子相关说明: 如手机内已安装解压小橙子需卸载,然后前往AppStore登录分享的ID,安装解压小橙子,会提示需要充值会员,点击"恢复购买",手机和手表不同步可以重启软件 注意:ID仅能在AppStore登录,在"设置"登录被锁机自行负责,有问题可以评论区评论 ✉️标签:#grow#解压小橙子#iwatch#id