代码质量介绍

已完成

不应主观地衡量代码的质量。 编写代码的开发人员对自己代码的质量评价很高,但这并不是衡量代码质量的好方法。 不同的团队可能会根据环境使用不同的定义。

对于汽车开发人员而言,视为高质量的代码可能是一个问题。 对于 Web 应用程序开发人员而言,这可能是另一个问题。

代码的质量非常重要,因为它会影响总体软件质量。

一项关于“软件缺陷起源和消除方法”的研究发现,个别程序员在发现其软件 bug 方面的效率不到 50%。 大多数形式的测试只有 35% 的效率。 这使得难以确定质量。

为提高质量,需要衡量五种关键特征。

可靠性

可靠性衡量系统在特定运行期间无故障运行的概率。 它与软件的缺陷数量和可用性有关。 可以通过运行静态分析工具来衡量多个缺陷。

可以使用平均故障间隔时间 (MTBF) 来衡量软件可用性。

低缺陷数对于开发可靠的代码库至关重要。

可维护性

可维护性衡量软件维护的难易程度。 它与代码库的大小、一致性、结构和复杂性有关。 确保源代码可维护性依赖于几个因素,例如可测试性和可理解性。

不能使用单个指标来确保可维护性。

为了改进可维护性,你可以考虑的一些指标是风格警告和停止的复杂性措施的数量。

自动化和人工审阅者对于开发可维护的代码库都是必不可少的。

Testability

可测试性衡量软件对测试工作的支持程度。 它取决于你控制、观察、隔离和自动化测试的能力,以及其他因素。

可测试性可以根据你需要多少测试用例来测量系统中的潜在故障。

软件的大小和复杂性会影响可测试性。

因此,在代码级别应用方法(例如圈复杂度)可以帮助你提高组件的可测试性。

可移植性

可移植性衡量同一软件在不同环境中的可用性。 它与平台独立性有关。

可移植性没有特定的衡量标准。 但是有几种方法可以确保代码的可移植性。

定期在不同平台上测试代码而不是等到开发结束,这一点至关重要。

将编译器警告级别设置得尽可能高也是一个好主意,并且至少使用两个编译器。

执行编码标准也有助于可移植性。

可重用性

可重用性衡量现有资产(例如代码)是否可以再次使用。

如果资产具有模块化或松散耦合等特性,则更容易重用。

相互依赖的数目可以衡量可重用性。

运行静态分析器可以帮助你识别这些相互依赖关系。