zoukankan      html  css  js  c++  java
  • 我们需要重新整理,而且需要不断的整理

    硬盘空间越来越少,程序代码越来越乱,增加一个新的功能需要参考别的代码甚至复制别的代码,一批同类的文件,特别是电影,因为一个分区存放不下,而分散放到了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份,而且由于你的再次偷懒,只更新了需要的那些地方,就会导致它们之间逻辑的差异化,那么就又增加了你后来重构的成本。

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

  • 相关阅读:
    Algorithm Gossip (48) 上三角、下三角、对称矩阵
    .Algorithm Gossip (47) 多维矩阵转一维矩阵
    Algorithm Gossip (46) 稀疏矩阵存储
    Algorithm Gossip (45) 费氏搜寻法
    Algorithm Gossip (44) 插补搜寻法
    Algorithm Gossip (43) 二分搜寻法
    Algorithm Gossip (42) 循序搜寻法(使用卫兵)
    Algorithm Gossip (41) 基数排序法
    Algorithm Gossip (40) 合并排序法
    AlgorithmGossip (39) 快速排序法 ( 三 )
  • 原文地址:https://www.cnblogs.com/peiyutao/p/1664848.html
Copyright © 2011-2022 走看看