• 半年后效率掉下去,我这边常见的不是语言选错,而是测试把一次偶然行为写成了规格。

    测试不看的时候,红的会被改成绿,绿的断言其实在保护错误实现。后面改业务,先要跟这组测试搏斗,review 业务代码也拉不回来,因为 CI 站在错误的那一侧。

    所以我现在不按「前端不看、后端看」来切,按「这个改动有没有一条我能讲出来的不变量」来切。讲不出来,就先让它补一个现在会失败的例子,再看 diff。语言表达力还是有用,但挡不住一套在保护错行为的测试。