发布于 2026-01-06 0 阅读
0

关于 TypeScript 的名言

关于 TypeScript 的名言

我入行也有一段时间了,有幸与来自世界各地、不同公司、不同岗位的许多人交流,甚至在我参加或发表演讲的会议上进行过一些私下讨论。当然,我也花很多时间在网上听取大家的各种观点。TypeScript 就是一个总能引发有趣(有时甚至是激烈)讨论的话题。

我在这里整理了一些关于 TypeScript 的引言,以及人们(大多未经筛选)对它的看法经验。这些说法都是“真实的”,但它们来自不同的视角,这也造就了 TypeScript 有趣的声誉。


“JavaScript 本身存在一些问题。如果你长时间使用它,就会遇到这些问题,并且需要找到相应的解决方法。TypeScript 开箱即用地解决了大部分此类问题。因此,对于那些来自其他语言、并且不想深入学习 JavaScript 的人来说,TypeScript 可能是一个不错的选择。”——库作者


“我担心那些最终想成为 JavaScript 开发者的新手开发者,会错失学习如何规避 JavaScript 风险,同时又能体验到弱类型语言强大功能的机会。我预见到他们会找到 TypeScript,并将其作为拐杖,而无法真正理解 JavaScript 的全部潜力。”——资深全栈开发者


《花生漫画》里的莱纳斯抱着他的安抚毯

“TS就像后端开发人员的舒适毯。” ——资深前端开发人员

我多次听到过这句话,通常是经验丰富的前端开发人员说的,有时是开玩笑,有时是认真的。


“TypeScript 简直是个奇迹,我终于可以不用再恨自己就能接触前端开发了。”——后端开发人员


“我得说,TypeScript 就像是后端开发人员进军前端领域的辅助轮。”——二级软件工程师


堆叠的书籍

“TypeScript 需要花费大量额外的精力来解决我根本不存在的问题,而且解决方式我也不喜欢。” ——极具影响力的《你不知道的 JS》系列丛书作者

这句话简洁明了地概括了名单上其他许多人的感受。


“如果你有一个后端开发团队,他们偶尔需要做前端开发,那么 TypeScript 可能非常适合这个团队。”——关于为什么使用 TypeScript 的会议演讲


“我只看过大约 10 个 TypeScript 代码库,但真的一个都看不懂。代码太丑陋,设计得太糟糕了。这到底是哪个怪物设计的?”——前端工程师


“我上一家公司的架构师一直想让所有人都采用 TypeScript,我很高兴地发现我们团队不需要,那只是个小型内部项目,用 TypeScript 会非常麻烦。”——后端 Node.js 工程师


“我不知道我讨厌的是 TypeScript 本身,还是我们公司使用它的方式。我们之前有一个代码库,已经“转换”成了 TypeScript,但几乎所有类型都是 `any`,导致第三方库很难兼容。与库的冲突严重拖慢了开发速度。更别提每次保存后都要编译 20 秒了。在我看来,我们基本上只享受到了 TypeScript 的缺点,却没享受到它的优点。”——初级开发人员


18世纪船只的蓝图


“我一点也不喜欢 TypeScript,但我的代码库有数百名贡献者,所以我把它当作另一种自动化审核方式,这样我就能少花时间在 PR 里挑毛病了。”——开源维护者


“TypeScript 提供的 95% 的功能,只需使用严格的代码检查和 JSDocs,就能以更少的精力和工具实现。”——资深全栈开发者

作为代码检查的爱好者,我比较赞同这种观点。你甚至可以检查 JSDoc 的注释块,确保注释与代码同步。而且 VSCode 中的 TypeScript 引擎可以从这些注释块中推断类型,所以她说的很有道理。这样一来,用更少的工具就能达到基本相同的效果。

更新:这已成为未来趋势,数百个项目正在从 TypeScript 转向这种 JSDocs + Linting 的方法。其中最引人注目的可能是 Svelte,它目前是第三大最流行的 JavaScript 框架。人们转向这种方法的主要原因有:

  • 能够直接在生产环境中进行调试
  • 与所有其他工具(包括 TS Engine 和 tsc)兼容
  • 更好的悬停文本
  • 更快捷的工具(无需等待编译)
  • 更便捷的入职流程/更低的准入门槛
  • 争议较小(正如你在本页的引述中所看到的,TS 可能非常具有争议性)

“我们用 TypeScript 重写了代码库,并发现了 30% 以上的 bug。”——公司案例研究


“如果有机会对代码库进行任何形式的大规模重构或重写,你很可能会发现并修复许多错误。重写的目的或重写后的代码是什么并不重要。只要你专注于改进代码,而不是构建新功能,就总能得到这样的结果。”——以上案例研究在 Hacker News 上获得了大量点赞。


一项针对 211 个 Apache 基金会项目的研究发现,强类型语言和弱类型语言的 bug 发生率相同。唯一影响 bug 发生率的因素是良好的测试实践。——学术白皮书


“如果你已经部署了非常严格的代码检查工具,并且测试覆盖率很高,那么花时间让 TypeScript 兼容只会带来收益递减。只有当团队强烈偏好这种编码风格时,才应该考虑这条路。”——软件架构师


再次强调,这些引言都属实,只是代表了不同的视角。什么才是最适合你的,取决于你的背景、团队和目标。

希望这些观点对您有所帮助。


封面图:让-弗朗索瓦·于埃的《格拉纳达战役》 (1779年)

查尔斯·舒尔茨《花生漫画》中的莱纳斯·范·佩尔特

船舶示意图来自模型造船师

文章来源:https://dev.to/thejaredwilcurt/quotes-about-typescript-2ohf