我们需要重新整理,而且需要不断的整理

硬盘空间越来越少,程序代码越来越乱,增加一个新的功能需要参考别的代码甚至复制别的代码,一批同类的文件,特别是电影,因为一个分区存放不下,而分散放到了3个分区中去,这种做法,在预示着你该整理了,整理不但为你节省空间,还为你节省时间

我花了2个晚上的时间整理了电脑硬盘,却获得了1/5的空间,我花了2天时间对一类程序的代码进行了整理和重构,却节省了很多行的代码和大大的提高了自由度及可扩展性,我在整理硬盘时发现,为了数据的安全,我把一些程序备份了很多地方,而备份之后的文件又被重新备份,而且每次备份的数据又稍微有些差异,导致不但占用了大量的空间,而且在真正需要的时候却不晓得到底哪份是新的,我也曾经规划过我的磁盘空间,但一旦长时间不去使用一个目录时,你很可能就会忘记它的位置,或者它的存在,所以你就会重新创建此类目录,更有甚者在新创建目录上起个名字叫“新**”,2年过去后,会有很多个新**,不晓得到底哪个是新的了

写程序也一样,为了实现某个功能而去写了一段代码你花费了5个小时的时间,这是第一次,一段时间后,你有了一个类似的需求,为了尽快完成工作,你照抄了第一次写的代码并进行了修改,花费了3个小时的时间,而如果你花费心思想去优化重构这段代码却需要花费8个小时的时间,所以你选择了3个小时,然后就有了更多此类的需求,所以你就用了N*3个小时的时间,终于有一天,你忍不住了,发现了更多此类的需求,所以你就花费了8 + 1*N个小时的时间来重构了这些需求,之后你发现,再新加一个类似的需求只需要0.2个小时即可以搞定,那么假设N=5,我们来算一下如果第一次就进行重构的话你会节省多少时间,第一种一直复制代码:5+(N-1)*3=17小时;第二种复制代码但在第5次时忍受不了进行了重构,则为 5 + (N-2)*3 + 8 + (N-2) + 1*0.2 = 25.2小时 ;第三种第一次就重构:5+8 + 0.2 * (N-1) = 13.8小时。

节省时间是一个方面,当然还有这期间的更新,如果复制代码,则在更新一个地方时就意味着要更新N份,而且由于你的再次偷懒,只更新了需要的那些地方,就会导致它们之间逻辑的差异化,那么就又增加了你后来重构的成本。

以上故事真人真事,分析数字纯属虚构,如不相信,就等着浪费时间做更多你不喜欢的事吧

posted @ 2010-02-06 11:07  老裴  阅读(225)  评论(0编辑  收藏  举报