跳转到内容

编程基础/程序质量

来自维基教科书,开放的书籍,开放的世界

程序质量描述了程序源代码和可执行代码的基本属性,包括可靠性、健壮性、可用性、可移植性、可维护性、效率和可读性。

无论开发方法如何,完成的程序都应该在以下方面表现良好

  • 可靠性:程序结果正确的频率。这取决于算法的概念正确性和编程错误的最小化,例如资源管理错误(例如缓冲区溢出和竞争条件)和逻辑错误(例如除以零或越界错误)。
  • 健壮性:程序对由于错误(非错误)而导致的问题的预见程度。这包括诸如不正确、不合适或损坏的数据、所需资源的不可用(如内存、操作系统服务、网络连接、用户错误和意外停电)等情况。
  • 可用性:程序的人机工程学:一个人使用程序完成其预期目的的难易程度,或在某些情况下甚至完成未预期的目的。这些问题可能会决定程序的成败,而与其他问题无关。这涉及各种文本、图形,有时还包括硬件元素,这些元素可以提高程序用户界面的清晰度、直观性、一致性和完整性。
  • 可移植性:程序源代码可以在其上编译/解释和运行的计算机硬件和操作系统平台的范围。这取决于不同平台提供的编程工具的差异,包括硬件和操作系统资源、硬件和操作系统的预期行为,以及特定平台编译器(有时还包括库)对源代码语言的可用性。
  • 可维护性:程序的当前或未来开发人员修改程序以进行改进或定制、修复错误和安全漏洞或使其适应新环境的难易程度。在初始开发期间采用良好的实践在这方面起着决定性的作用。这种质量可能对最终用户并不直接明显,但它会从长远来看对程序的命运产生重大影响。
  • 效率/性能:程序消耗的系统资源(处理器时间、内存空间、磁盘等慢速设备、网络带宽,在一定程度上甚至用户交互)的衡量标准:越少越好。这也包括仔细管理资源,例如清理临时文件并消除内存泄漏。
  • 可读性:人类读者理解源代码的用途、控制流程和操作的难易程度。它会影响上述质量方面,包括可移植性、可用性和最重要的是可维护性。可读性很重要,因为程序员大部分时间都花在阅读、试图理解和修改现有源代码上,而不是编写新的源代码。不可读的代码通常会导致错误、效率低下和重复代码。
  • 重要的是要注意,没有一个属性比其他属性更重要。最好将这些属性视为一个系统,每个属性都与下一个属性一样重要。这些属性支持程序,如果其中一个属性薄弱或失效,它将影响整个程序。

关键术语

[编辑 | 编辑源代码]
效率
程序消耗的系统资源的衡量标准。
可维护性
程序的当前或未来开发人员修改程序的难易程度。
可移植性
程序源代码可以在其上编译/解释和运行的计算机硬件和操作系统平台的范围。
可读性
人类读者理解源代码的用途、控制流程和操作的难易程度。
可靠性
程序结果正确的频率。
健壮性
程序对由于错误(非错误)而导致的问题的预见程度。
可用性
一个人使用程序的难易程度。

参考资料

[编辑 | 编辑源代码]
华夏公益教科书