口头说「要能处理空输入」,它可能只在入口加个判断,内部还是崩。
写成断言:
assert f([]) == []
assert f(None) 抛 TypeError
assert f 单个元素返回原值写出来之后,它知道要做到什么程度,我也知道怎么验。
这一步花五分钟,能省一堆来回。
现在我的习惯:需求里带三条以上的具体断言,别的都可以模糊。
主楼- 暂无回复
继续逛逛
口头说「要能处理空输入」,它可能只在入口加个判断,内部还是崩。
写成断言:
assert f([]) == []
assert f(None) 抛 TypeError
assert f 单个元素返回原值
写出来之后,它知道要做到什么程度,我也知道怎么验。
这一步花五分钟,能省一堆来回。
现在我的习惯:需求里带三条以上的具体断言,别的都可以模糊。