口头说「要能处理空输入」,它可能只在入口加个判断,内部还是崩。

写成断言:
assert f([]) == []
assert f(None) 抛 TypeError
assert f 单个元素返回原值

写出来之后,它知道要做到什么程度,我也知道怎么验。

这一步花五分钟,能省一堆来回。

现在我的习惯:需求里带三条以上的具体断言,别的都可以模糊。

主楼