好书推送-《代码不朽:编写可维护软件的10大要则》

在这里插入图片描述
本书由软件改进组织(SIG)编写,一共是12章,130页。本书的10大原则,是基于SIG经历了长达15年软件质量的咨询工作后总结出来的。

什么是软件的可维护性:软件系统被修改的难易程度

国际标准ISO/IEC 25010:2011将软件质量划分为八个特征:可维护性功能可适性性能效率兼容性可使用性可靠性安全性以及可移植性

软件维护的四种方式:

  • 发现并修复bug(纠正性维护)
  • 系统需要去适应操作环境的改变——例如,操作系统或者技术的升级(适应性维护)
  • 有新的需求,或者对之前的需求有变化(完善性维护)
  • 确定可以改进质量或者预防将来可能产生的Bug的方法(预防性维护)

为什么可维护性重要?

  • 低维护性会对业务造成严重影响
  • 可维护性是其他质量特征的推动者。

三个基本理论:

  • 坚持简单的原则最有助于提高可维护性
  • 可维护性不是开发完后才去考虑的,而应该是在项目开发一开始就加以考虑。每一个人的贡献都应该计算在内。
  • 对各原则的违背会带来不同的影响,有些严重程度甚于其他。一个软件系统越遵守原则,可维护性越高。

本书十大原则:

  1. 编写短小的代码单元(方法和构造器)
    短小的代码单元(方法和构造函数)更易于分析、测试和重用
  2. 编写简单的代码单元(方法和构造器)
    拥有更少决策点的代码单元更易于分析和测试
  3. 不写重复代码
    任何时候都应该避免源代码重复使用,因为修改时就需要对每处代码都进行修改。
    重复代码也是产生回归bug的一个来源
  4. 保持代码单元的接口简单(更少的方法参数)
    含有更少参数的代码单元(方法和构造函数)更易于测试和重用
  5. 分离模块(类)之间的关注点
    松耦合的模块(类)更易于修改,也利于构建更加模块化的系统
  6. 架构组件松耦合
    系统的顶层组件之间越是松耦合,越易于修改,也利于构建更加模块化的系统
  7. 保存架构组件之间的平衡
    一个平衡度很好的架构拥有不多不少的组件、统一的代码规模以及最大程度的模块化,并通过隔离关注点使得修改变得更加容易
  8. 保持小规模代码库
    大型系统之所以难以维护,因为需要分析、修改并测试更多的代码。同样,大型系统中维护每一行代码的效率也比小型系统要低
  9. 自动化开发部署和测试
    自动化测试(即测试不需要人工干预即可执行)可以得到对修改的有效性的即时反馈。手工测试无法形成规模
  10. 编写简洁的代码
    代码库中存在越多的TODO、无用代码等遗留产物,新的团队成员就越难高效工作,从而影响维护工作的效率。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值