创建良好设计的代码

来源:互联网 发布:知彼定位客服 编辑:程序博客网 时间:2024/04/30 23:22

创建良好设计的代码

设计并非是使得代码完美,完美并不存在于这个世界上。 设计是在实现的基础上的更高的要求。写软件,首先当然是给人用的,也就是实现功能。然后,就是便于自己或其他人理解和维护,这就是设计的目的。良好设计的代码,更易被理解,被维护,被复用。而这些好处的最终结果是,可以大大降低开发成本,并积累一些可重用的代码库。 如何创建良好设计的代码呢? 首先,要建立编写程序是一种艺术创作过程的信仰。程序员是需要有一点信仰的。比如,同样完成一个算法,代码的写法千变万化,可以写得很烂,也可以尽自己的能力把它写好。一般来说,写烂代码速度更快,而老板可能只关心你做出了什么功能,并不关心是如何做的。写烂代码可能更容易取悦老板,况且之后的维护工作不见得还是由你来做。然而,在这种情况下,我想包括你我在内的程序员们,是不会选择写烂代码交差的。这就是一种信仰,写出来的代码要对得起自己,要可以毫无愧色地对别人说,“这是我写的程序!”。 虽然经常可以听到“程序员只不过是代码工人”、“人家印度都是高中生写代码”之类的说法。但是,代码工人只是编程的机器,没有思想,只懂得实现,那是coder、coding machine。而信仰告诉我们,我们要做的是programmer甚至designer!程序员应该是有思想的,会用代码来表达自己。程序员会把程序当作自己的作品,在时间允许的情况下愿意对它精雕细琢。而程序员更相信--优美的代码足以使人你延年益寿! 其次,要学会不断反思、总结,以积累经验。良好的设计并非一蹴而就的,需要不断地对最初的设计进行调整和重构。最初的设计往往是想当然的,而随着开发的进展,对需求的理解更深刻后,可能会发现设计的不合理之处。这时不要犹豫,立刻动手把代码往更优的方向拉,正所谓“不破不立”。因为最初的不良设计,随着整个项目代码的扩展,不合理处会被以几何级的速度放大。如果由于舍不得原来的代码,致使到项目末期才发现工作无法继续,这才是最致命的。 最后,需要不断地学习他人的经验。看过《设计模式》一书的人,一定会为其中先人的成果所叹服。或许读者会发现,其中某些模式的手法其实自己已经使用过了或正在使用。“模式”正是这样一种被很多系统、很多人所实践的并总结出来的设计经验。学习这些,可以使自己站在更多前人的肩膀上;然后,甚至在自己编写大量的代码的过程中,能够将自己在设计中惯用的某些手法也提练、整理成模式--这也是一种重用。 学习他人经验的最容易的途径,就是经常去看一些经典的代码以及相关的书籍。例如,VCL库本身的代码就是很好的例子。而书籍方面,大多数涉及OOP设计的书籍都是以C++为讲述语言的,而以Delphi来讲述的则非常少,这也正是为什么在本书第1章中提出“真正聪明的程序员用C++来理解Delphi”的原因。