像邮件发送这样万年不变的代码没必要重新写,即使我重构了个程序,我也可以从原来的程序里把这些不需要重新写的代码复制过去。就像一代计算机升级,升级的是主板上的东西,而鼠标、显示器、键盘这些东西完全没必要改变。也许一个程序重构之后表明上根本看不到变化,但是性能,安全性,这些无法直接看见的东西全都提高了。修改和重构最大的区别就是要不要重新制定大纲,一个程序设计的大纲如果全是补丁最后整个逻辑都会乱套了。补丁可以有,但是多了就会完蛋。假如一个程序修改了10次,谁能把这10次修改的内容全部记住呢?或者说用文档记录下来,可是如果30次呢?每次修改程序,要看30个大纲的补充条款,要综合考虑那么多因素谁能有把握不和曾经的代码冲突?正常做一个项目三分之一的时间是制定大纲,六分之一时间在敲代码,剩下时间是在调试。程序做出来后一两个补丁可以有,多了就直接重构。火狐的版本号以前每次只加个小数,现在版本号一路狂飙有没有。其实重构程序和初次开发程序需要的开发成本小,因为有了上一次开发的“失败经验”后面无论怎么重构都是游刃有余。
程序开发没有什么“早知道”,只有完成后投入使用,以用户反馈的问题作为参考。什么都能“早知道”的只有神。
程序开发没有什么“早知道”,只有完成后投入使用,以用户反馈的问题作为参考。什么都能“早知道”的只有神。




