luckys.FM 营业中
技术

类型体操,适可而止

把类型写得太聪明,三个月后连自己都看不懂。

· #typescript #经验

有段时间我很迷恋 TypeScript 的高级类型。 条件类型、映射类型、模板字面量类型,能套多深套多深。

写出来的那一刻确实很爽,像解开一道智力题。

但三个月后回头看,我盯着自己写的那个泛型看了十分钟, 没看懂它到底想表达什么。

后来我给自己定了条规矩:

  • 能用 interface 说清楚的,就不用复杂泛型
  • 一个类型如果需要写注释才能看懂,多半太聪明了
  • 类型是给人看的,不是用来炫技的

代码的可读性,比类型的精巧重要得多。 现在我的类型大多平平无奇,但谁来都能改。