~/VibeHandbook
$39

10 · 03

类型检查与代码检查:免费抓出的错误

有两种工具几乎不需要你费什么力气,就能抓出一整类错误:

  • 类型检查(TypeScript、mypy 等)能抓出"你把一个 string 传给了期望 number 的地方"以及"这个值可能是 undefined"。AI 特别喜欢忽略那些被类型设计成不可能出现的边界情况。
  • 代码检查(Linting)(ESLint、Ruff 等)能抓出未使用的变量、不可达代码以及风格漂移。它能防止一个被 AI 反复改动的代码库慢慢糊成一团。

尽早把这些设置好,并告诉 AI 遵守它们:"运行类型检查器和 linter,并在你认为做完之前修复它们报出的所有问题。" 把一次干净的类型检查当作"完成"定义的一部分。

不过,要警惕那些偷懒的逃生口。当类型检查器抱怨时,真正正确的修复是去处理它发现的那个情况——那个 undefined 值、那个错误的类型。而快速的修复,是用 // @ts-ignoreany 或者 # type: ignore 注释把抱怨压下去,AI 会不停地伸手去抓这些,因为它们能让红字消失。它们也恰恰在检查本想帮忙的那个位置,把检查变得毫无价值。如果你在 diff 里看到一条抑制(suppression)注释出现,把它当成一个问题,而不是一个解决方案:"这为什么是必要的?去修底层的类型,而不是忽略它。"

想离线阅读?

获取 PDF + EPUB + 可下载的提示词库 + 版本更新。

$ 获取 PDF — $39