高质量代码的设计特点

更新时间:2023-05-25 01:12:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

高质量代码的设计特点

代码设计之道

综述高质量的设计往往有一些共同的特点。如果你能 达到这些特点,那么可以认为你的设计也是非常 成功的。有些特点是互相矛盾的。但是这是设计 的挑战所在,在相互矛盾的对象之间做出合理的 折衷。 某些高质量设计的特点同时也是高质量程序的特 点—可靠性。其余的则是设计所独有的。 以下是设计所独有的一些特点:

智力上的可管理性:对于任何系统来说,智力上 智力上的可管理性 的可管理性都是其重要目标之一。它对于整个系 统的完整性是非常重要的,并且会影响程序员们 开发和维护系统的难易程度。 低复杂性:低复杂性实际上是智力上的可管理性 低复杂性 一部分,由于上述同样的原因,这点也很重要。

维护的方便性:维护的方便性意味着设计时要为 维护的方便性 负责维护的程序员着想。在设计中,要不停地想 象维护程序中将会对你的设计提出的问题。应该 把维护程序员当作你的听众,同时把系统设计成 明白易懂的。 最小的联系性:最小的联系性指的是按照保持子 最小的联系性 程序之间的联系最少的原则来设计,应该利用强 内聚,松散耦合和信息隐蔽等作为指导原则来设 计系统,使其内部的联系性尽可能少。最小的联 系性可以极大地减小综合、测试和维护阶段的工 作量。

可扩充性:可扩充性指的是不必影响系统的内部 可扩充性 结构,就可以对系统的功能进行强化,你可以改 变系统的某一部分而不影响其余部分,使得最大 可能性变动对系统带来的影响最小。 可重复使用性: 可重复使用性指的是把系统设 可重复使用性 计成其中许多部分是可以被其它系统借用的。

高扇入:高扇入指的是对于一个给定的子程序来说,应该 高扇入 有尽可能多的子程序调用它。高扇入表明一个系统在低层 次上充分利用了功能子程序。 低或中等程度扇出:低或中等扇出指的是对一个确定的子 低或中等程度扇出 程序来说,它所调用的子程序应该尽可能地少。高扇出 (大约7个以上)说明一个子程序控制了许多其它子程序, 因此可能是很难理解的。而中等扇出则表明一个子程序只 把任务交给了数量较少的其它子程序,因此是比较容易理 解的。低扇出(少于4个)看起来像是一个子程序没有把 足够的任务交给其余的子程序去做,但经验表明并不是这 样。一项研究表明有42%只调用一个子程序的子程序是没 有错误的,有32%的调用 2~7个子程序是没有错误的,而 在调用7个以上子程序的情况中,只有12%是没有错误的。

可移植性:可移植性指的是把系统设计成很容易 可移植性 转到另外的

环境下运行。 简练性:简练性指的是把系统设计得没有任何多 简练性 余部分。 有人说,当一本书不能删掉,而不是不 能添补任何内容时,才可以认为它已完成了。在 软件中,这也是非常正确的,因为当你对系统进 行改进时,你不得不对冗余的代码进行开发、评 审、测试和维护等等工作,而且在开发软件的新 版本时,新版本也不得不与这些冗余的代码兼容。 最有害的观点是“多加入些又不会有害,怕什么 呢?”

成层设计:成层设计指的是尽量分解的层次是成层的,这样你可以在 成层设计 每一个单独的层次上观察系统,同时也可以使观察的层次是连续的。 也就是说当你在某一层次上观察系统时,不会看到在其它层次上看到 的东西。 你会经常遇到某些子程序和软件在几个层次上起作用。这样会使系统 很混乱,应尽力避免。 如果在编写一个先进系统时,不得不借用许多旧的、设计得不好的代 码,那么你可以在新系统中建立一个层(layer),与那些旧代码相联 接。精心设计这个层使它把旧代码的缺点隐含起来,从而使新层表现 了一整套连续的功能。然后,让程序的其余部分调用些子程序而不是 直接调用旧代码。成层设计的好处是:(l)它可以使你避免与拙劣 的旧代码直接打交道;(2)一旦你想废弃那些旧代码中的子程序的 话,只要修改一下接口层就可以了。

标准化技术:标准化技术是深受欢迎的。 标准化技术 一个系统使用的奇特的、非标准的技术越多,当 别人第一次读它时就会越感到可怕,也越难理解。 应该通过采用常用的、标准化的技术使得人们在 阅读它时是一种熟悉的感觉。

本文来源:https://www.bwwdw.com/article/1uv4.html

Top