当前位置: 首页 > news >正文

类型标注,太多和太少一样糟糕

https://news.ycombinator.com/item?id=46266102

一位工程师的回复:

A few things I've come to personally believe after spending years developing web and robotics software in Python/JavaScript then spending years having to maintain while constantly adding new features and dealing with company pivots:

  • The types exist whether you write them down or not.
  • If they're not written down, they're written down in your head.
  • Your head is very volatile and hard for others to access.
  • Typing is an incredibly good form of documentation.
  • JSDoc and TypeScript are standards/formats for typing. Like any tools, they both have advantages and disadvantages. Neither is objectively better than the other.
  • Make informed decisions on how you'll describe your types, and then be consistent and unsurprising.
  • A type checker is the computer saying, "okay then, prove it" about your program's type validity.
  • Not every program benefits from the same amount of "prove it."
  • Too much can be as bad as too little. You're wasting resources proving throwaway code.
  • I like languages that let you decide how much you need to "prove it."

翻译:

经过多年用 Python/JavaScript 开发 Web 和机器人软件、以及在不断新增特性、应对公司方向调整时负责维护这些代码后,我个人的一些体会:

  • 无论你是否写下来,类型始终都存在。
  • 如果你没把类型写成文档,那它们其实都记在你脑子里。
  • 你的大脑极其容易遗忘,而且别人很难读取你的想法。
  • 类型标注是一种极佳的文档形式。
  • JSDoc 和 TypeScript 是描述类型的标准和格式。像所有工具一样,它们各有优缺点,没有哪一个绝对好于另一个。
  • 要对如何描述类型做出有根据的决策,并保持一致性和可预期性。
  • 类型检查器其实就是计算机对你说:“那好,请你证明下你的程序类型是对的。”
  • 并不是每个程序都需要同样严格的“证明”。
  • 太多类型验证和太少一样,都不好。你可能会浪费时间去验证一些一次性代码。
  • 我喜欢那些可以让你自己决定“需要证明到什么程度”的编程语言。
http://www.jsqmd.com/news/93126/

相关文章:

  • 2025.12.15日14:10-coop小屋, 鸡(兔)笼, 拘留所, 俗监狱
  • AI如何自动生成DLL Escort许可证密钥验证系统
  • 推荐靠谱钢结构厂家,中臻达为您保驾护航 - 工业推荐榜
  • 创意速成:用docsify快速验证产品文档方案
  • 2025年质量好的车牌识别道闸实力厂家TOP推荐榜 - 品牌宣传支持者
  • MyBatis参数绑定异常:新手避坑指南
  • ABB 769118分析仪配件:测量链路的精准保障
  • 对比:传统调试与AI辅助解决Gradle问题
  • 江苏三年制专转本机构选择指南与行业服务解析 - 品牌排行榜
  • EasyPlayer.js实战:搭建企业级视频监控系统的关键技术
  • 1小时搞定!用快马验证你的盘搜创意
  • 2025年水冷气缸定制厂家权威推荐榜单:标准定制气缸‌/定制气缸‌/水冷气缸定制源头厂家精选 - 品牌推荐官
  • 2025年环链斗式提升机直销厂家权威推荐榜单:矿用输送机/TH提升机/带式输送机源头厂家精选 - 品牌推荐官
  • 信创深化期ITSM选型:打破流程割裂,锁定全栈适配的智能方案
  • 1215_2_Linux
  • 5分钟原型:构建模块错误自动修复工具
  • 2025年热门的分段伸缩门/智能电动伸缩门用户口碑最好的厂家榜 - 行业平台推荐
  • 钢结构定制生产:选靠谱厂商,开启高品质建筑之旅 - mypinpai
  • 2025 年医用包装清洁机厂家权威推荐榜:高效灭菌与精密清洗技术,医疗设备洁净保障首选 - 品牌企业推荐师(官方)
  • DeepSeek在线提问:AI如何帮你解决编程难题
  • Container增加字段如果想要删除
  • 2025年起重机电动葫芦直销厂家权威推荐榜单:环链电动葫芦/双速电动葫芦/手动电动葫芦源头厂家精选 - 品牌推荐官
  • 15分钟打造0x00000771错误诊断MVP
  • 对比测试:传统vs AI优化设备连接方案
  • 哈尔滨律师事务所哪家专业 - 行业平台推荐
  • 2025年广州口碑好的3A信用认证代办价格,3A信用认证/3A企业信用认证/3A企业信用认证3A信用认证申请有哪些 - 品牌推荐师
  • PCL分割——采样一致性分割
  • 企业级实践:Ubuntu服务器集群Docker标准化部署方案
  • UG NX 2506下载安装教程(附安装包)UG NX 2506超详细下载保姆级图文安装步骤教程(含安装包+激活教程)
  • 2025年终电子万能试验机优质厂家综合概览:疲劳试验机\拉力试验机\压力试验机\弯曲扭转试验机产品分析报告 - 深度智识库