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份,而且由于你的再次偷懒,只更新了需要的那些地方,就会导致它们之间逻辑的差异化,那么就又增加了你后来重构的成本。

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

  • 相关阅读:
    用Instant client批量安装Oracle客户端安装配置
    Oracle case when 用法(转)
    C# 读写ini文件 【转】
    oracle数据库删除数据Delete语句和Truncate语句的对比
    C#使用instantclient连接 Oracle 10g (转)
    SQL Server CONVERT() 函数
    c#格式化数字(转)
    InstantClient安装使用 (转)
    C# 四个字节十六进制数和单精度浮点数之间的相互转化
    oracle case when的使用方法
  • 原文地址:https://www.cnblogs.com/peiyutao/p/1664848.html
Copyright © 2011-2022 走看看