• 代码艺术 之 修改软件


    思维导图
     
    点击图片查看大图
     

      

    介绍
     
    我们平时在开发中遇到最多的不是开发新项目,而是对现有的项目进行修改和添加新特性。所以这次着重谈谈软件修改。
     
    目录索引
     
    #  添加新特性,修正bug;
     
    添加新特性,修正bug
     
    我们在平时维护现有系统的时候,我们不难发现产品比较喜欢添加行为,而不是改变或移除原本他们所依赖的行为
     
    对于我们平时如何区分是修正bug还是添加新特性呢?这个是角度问题,是产品与技术人员的较量问题。
    比如:产品想把logo,从左边移到右边,而且还要在右边移动。
       那么从产品的角度是修复bug,而从我们的角度是添加新特性。
         产品从不管我们为此不得不从头开始做一些新的工作的事实。——主观看法的差异而已。
    我们在平时一定要做到bug修正和添加新特性必须分开记录和解决,这便于我们日后的维护。——一般我们公司是使用jira做这些记录。
     

    改善设计
     
     改善设计的目的是改变既有软件的结构和组织,以令其更易于维护。
     
    改善设计我们不得不提重构,重构是不改变软件行为的前提下改善其设计的举动。我们要保证结构的改变不会影响既有的行为,这我们通常需要编写测试代码。——每一小步都小心验证其行为不会改变。

     
     
    优化
     
    优化与重构的区别是目的不同。对于重构来说,是为了易于维护而做的程序结构的调整。而对于优化来说,是为了提高性能(如时间或内存)。
     
    有两个词大家需要斟酌一下,“清理”和“整理”。清理有清除整理的意思,而“整理”没有清除的意思。我们在重构或优化的时候,注意这两个词的区别。——为了与其他人沟通更加准确些。
     

     
    危险的修改
     
    在我们需要作出修改并保持行为时,往往伴随着相当大的风险。
     
    思考方式:
      在我们修改代码的时候,你脑子里是否想到以下问题。——这也是希望大家在修改代码的时候,自问一下。
        1、我要进行哪些修改?
        2、如何判断已经正确的完成了修改?
        3、如何得知没有破坏任何既有的行为?
     
     传统方法
     
    我们经常使用的方式:当需求下来了,我们的第一反应是在现有的类或方法上添加和修改,而不是重新建个类或方法。
    这样使用是因为费力少,更安全。
    而产生的后果是既有的类和方法越来越大,越来越难理解。而且我们不得不承认,我们对代码会越来越生疏,以后再修改这个地方,从内心就会产生恐惧感,总惧怕这个地方再进行修改从而导致系统结构日益糟糕。
     
     比较先进方法
     
    1、努力的去做修改,做好文档(主要是流程图)、注释。——我个人非常喜欢某个方法重写,我的做法是看是不是能抽出类或者方法来,然后重写方法。这样做的目的(1)我更加了解系统。(2)能增强我的代码编写能力。
    2、雇佣更多员工,这样我们就有更多的时间进行系统分析和仔细审查所有代码。
     

     
    总结
     
    以上是对软件修改整个过程的理解,若有误,欢迎大家拍砖。 

    参考文献《修改代码的艺术》 
     
    推荐
     
     
  • 相关阅读:
    基本控件文档-UIView属性---iOS-Apple苹果官方文档翻译
    基本控件文档-UITextField属性---iOS-Apple苹果官方文档翻译
    vue后台管理权限篇
    JavaScript call、apply、bind的用法
    Array map()方法
    markdown常用语法总结
    webpack配置说明
    Object.prototype.toString.call(value)
    前后端数据交互和前端数据展示
    vue常用的传值方式
  • 原文地址:https://www.cnblogs.com/baochuan/p/2523755.html
Copyright © 2020-2023  润新知