110,536
社区成员
发帖
与我相关
我的任务
分享
int plus(int a, int b)
{
if(a==1 && b==1)
return 2;
else
throw new NotImplementedException();
}
我们只要知道1+1=2就行了。然后当发现1+2无法将结果输出为3的时候,我们重构为int plus(int a, int b)
{
if(a==1 && b==1)
return 2;
else (a==1 && b==2)
return 3;
else
throw new NotImplementedException();
}
当问题复杂到一定程度时,我们才会写出复杂的代码,否则没有必要的时候不回去想当然地搞理论。
这种一步一个脚印的编程方法对技术要求更高,远比那些动不动就问别人“一共有几种情况、有没有什么开源软件下载”的做法的技术要求更高。因为充分地技术落地、不走弯路、快速迭代、轻松适应回归测试需求的测试驱动方法,当你遇到bug时,你往往可以迅速地看到前几次迭代重构的测试驱动机制所改变了的内部结构细节,或者你也可以有勇气断然放弃最后的实现而重新实现,你根本不用调试,而往往是在一个很小的迭代步骤中推倒重来(这往往是20分钟内的小迭代,绝不是把推倒重来一个大系统)。