2020-11-24

软件可维护性理论简介
1.基本定义和说明

我们将一个软件系统可被修改的难易程度称为它的可维护性。
一个软件系统的可维护性由其源代码的多个属性决定。
可维护性(一个软件系统可被修改的难易程度)与性能(一个软件系统执行的时空开销,这里往往指得到输出的快慢)是软件质量的两个重要特征。(根据国际标准,软件质量可以划分为八个特征:可维护性、功能可适性、性能效率、兼容性、可使用性、可靠性、安全性、可移植性。)
2.软件维护的四种方式

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

3.Why is important?

低可维护性会对业务造成严重影响。
可维护性是其他质量特征的推动者。
  1. 十条指导性原则——可维护性软件概述

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

5.可维护性的三条基本理论

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

6.对可维护性的常见误解

可维护性与使用的语言有关。
可维护性与行业有关。
可维护性等价于Bug数量的多少。
可维护性是一个“非此即彼”的是非问题。

7.推荐阅读

《重构:改善既有的代码设计》
《代码整洁之道》
《代码质量》
《设计模式:可复用面向对象软件的基础》
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个 SQL 语句,用于向借阅表中插入数据。该表包含以下字段:借阅编号、读者编号、书籍编号、借阅日期、归还日期、借阅状态。每条数据表示一次借阅记录。其中借阅编号、读者编号、书籍编号、借阅日期和借阅状态是必填项,归还日期为可选项,如果借阅状态为“已还”则必须填写归还日期。 具体插入的数据如下: - 借阅编号:100001,读者编号:123413,书籍编号:0001,借阅日期:2020-11-05,归还日期:NULL,借阅状态:借阅 - 借阅编号:100002,读者编号:223411,书籍编号:0002,借阅日期:2020-9-28,归还日期:2020-10-13,借阅状态:已还 - 借阅编号:100003,读者编号:321123,书籍编号:1001,借阅日期:2020-7-01,归还日期:NULL,借阅状态:过期 - 借阅编号:100004,读者编号:321124,书籍编号:2001,借阅日期:2020-10-09,归还日期:2020-10-14,借阅状态:已还 - 借阅编号:100005,读者编号:321124,书籍编号:0001,借阅日期:2020-10-15,归还日期:NULL,借阅状态:借阅 - 借阅编号:100006,读者编号:223411,书籍编号:2001,借阅日期:2020-10-16,归还日期:NULL,借阅状态:借阅 - 借阅编号:100007,读者编号:411111,书籍编号:1002,借阅日期:2020-9-01,归还日期:2020-9-24,借阅状态:已还 - 借阅编号:100008,读者编号:411111,书籍编号:0001,借阅日期:2020-9-25,归还日期:NULL,借阅状态:借阅 - 借阅编号:100009,读者编号:411111,书籍编号:1001,借阅日期:2020-10-08,归还日期:NULL,借阅状态:借阅
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值