代码质量介绍
代码质量不应由个人意见衡量。 编写代码的开发人员将高度评价自己的代码,但这不是衡量代码质量的可靠方法。 不同的团队可以根据他们正在构建的内容使用不同的定义。
被视为高质量的代码对于汽车软件开发人员和网络应用程序开发人员来说可能意味着不同的标准。
代码质量非常重要,因为它会影响整体软件质量。
一项关于“软件缺陷起源和消除方法”的研究发现,单个程序员在自己的软件中发现不到50%的漏洞。 大部分测试方法只能发现 35% 的缺陷。 这使得难以确定质量。
有五个关键特征用于衡量更高质量的代码:
可靠性
可靠性衡量系统在特定时间段内无故障运行的可能性。 它与软件的缺陷数量和可用性有关。 可以通过运行静态分析工具来度量多个缺陷。
可以使用平均故障间隔时间 (MTBF) 来衡量软件可用性。
低缺陷计数对于开发可靠代码至关重要。
可维护性
可维护性衡量软件维护的难易程度。 它与代码的大小、一致性、结构和复杂性相关。 确保源代码可维护依赖于多种因素,例如可测试性和可理解性。
不能使用单个指标来确保可维护性。
您可以考虑的一些提高可维护性的指标包括样式警告数量和 Halstead 复杂度度量。
自动化和人工审阅者对于开发可维护的代码非常重要。
可测试性
可测试性衡量软件对测试工作的支持程度。 这取决于你如何控制、观察、隔离和自动化测试等因素。
可测试性可以根据你需要多少测试用例来测量系统中的潜在故障。
软件的大小和复杂性会影响可测试性。
因此,在代码级别应用方法(例如圈复杂度)可以帮助你提高组件的可测试性。
可移植性
可移植性衡量同一软件在不同环境中的可用性。 它与平台独立性有关。
可移植性没有特定的衡量标准。 但是有几种方法可以确保代码的可移植性。
请务必在不同的平台上定期测试代码,而不是等到开发结束。
将编译器警告级别设置得尽可能高也是一个好主意,并且至少使用两个编译器。
遵循编码标准也有助于移植性。
可重用性
可重用性衡量现有资产(例如代码)是否可以再次使用。
如果资产具有模块化或松散耦合等特性,则更容易重用。
相互依赖的数目可以衡量可重用性。
运行静态分析器可以帮助你识别这些相互依赖关系。