一个或许比Ward Cunningham的“技术债务”更能打动中国软件开发团队接受单元测试的理由

之所以单元测试在国内本土软件开发企业中没有成为主流,我个人认为主要原因是包括码农、开发经理、公司高层在内的国内本土软件开发团队,大都没有看到“单元测试”能给产品内在质量所带来的具有中国味道的好处。西方大师所认为的单元测试“能够确定开发接口、保护已有代码不被破坏、起到API文档作用”等等好处,我认为对于中国软件开发团队还是不具足够的吸引力。

我认为,比较能说服中国软件开发团队认可单元测试的一个理由是:把你写的那些“代码”看作你攻下的城池,若你为这些代码写了单元测试,好比你攻下城池,并且建立了当地政府,控制住了当地局面,这是农耕文明皇帝的一般做法;若你只是写代码,但从不写单元测试,那你所做的有点像游牧民族,攻打一个城池并抢走一下好东西(写代码来完成功能、修复bug),但是“攻而不占”。中国历史证明,游牧民族要是想当农耕文明的皇帝,都不约而同地改掉了“攻而不占”的习惯,写单元测试,控制住了所占的城池。

我认为有些互联网公司,想试一试某款产品的市场是否对路,用很快的速度开发,不写单测,产品没人用就抛弃,就有点像游牧民族的路子。

 孔子说“无可无不可。”农耕文明的皇帝和游牧民族的领袖,各有各的好处。所以写单元测试,也需要根据企业情况来酌情权衡。 

游牧民族的领袖虽然速度快,但是有一点必须清楚,那就是:我攻打的城池永远不归我拥有,因为我没写单元测试来控制住它,换句话说,没有单元测试的源代码,即使完好地保存在公司的版本控制系统里,那也不是“你自己的”代码,因为没有单测就意味着代码不受控。明白这一点,再做游牧民族。

想当农耕文明的皇帝,还是相当游牧民族的领袖,你自己来决定。

我个人斗胆地认为,我刚才的“农耕文明的皇帝和游牧民族的领袖”的比喻,在说服中国开发团队接受重构和单元测试的观念上,或许比Ward Cunningham创造的“技术债务”debt要好使一点。大家不妨试一试。 

---------------

原创文章,转载请注明出处, 谢谢。本文地址:http://blog.csdn.net/wubinben28/article/details/8803718


一个或许比Ward Cunningham的“技术债务”更能打动中国软件开发团队接受单元测试的理由_第1张图片
一个或许比Ward Cunningham的“技术债务”更能打动中国软件开发团队接受单元测试的理由_第2张图片

你可能感兴趣的:(驯服烂代码)