原文:http://gocom.primeton.com/blog/index.php?op=ViewArticle&articleId=1175&blogId=35
如果有一个人穿着西装,打着领带,但却穿着草鞋,卷着裤腿,那么他出现在任何场合都不合适。之所以如此,是因为这种打扮,违反了当今社会的着装原则。
对于软件开发,原则同样重要。
商用软件要遵守的原则,是一个层次化体系。第一层,最基础的,是它的商业目标。在这个基础上,第二层,要确定其开发周期、开发成本、面向对象、技术要求,等等。第三层,是架构原则、界面原则、易用性原则、定名原则,等等。具体的架构规范、界面规范、定名规范等等,是第四层的原则。
在良好的原则体系指导下开发出来的软件产品,能够良好的服务与它的商业目的。而脱离原则的产品,等到开发出来,往往跟决策者以为自己有的产品大相径庭,会让市场战略围着产品转。
原则指导下的软件产品是容易学习的产品。比如开发工具的构件库,如果它良好的遵循了原则,则使用者在掌握了一小部分构件后,就能够找到“感觉”,什么构件该有,什么构件不该有,什么构件应该在什么地方,应该是什么样的接口,应该叫什么名称,都能够猜得很近,寻找和掌握一个新的构件是一件很容易的事情。脱离原则的构件库则好似垃圾桶里的杂物,它们的有无、排列完全是历史的偶然。
原则指导下的软件开发过程也是一个相对有序的过程。开发者之间的分歧和争论可以很快收敛,开发过程的管理因此也是一个相对轻松的过程。脱离了原则的开发过程稍不留神就像脱缰的野马,需要不断的开会,不断的检查,不断的纠正。
今天,完全没有原则的软件开发已经很难找到。但整个开发队伍系统地、自觉地、一贯地贯彻从原则出发的软件开发确是不容易的。时常我们看到有些软件项目虽然有着良好基础原则集合,却没有完善的执行层原则,或者执行层原则与基础原则脱节。在具体的开发实践中,原则有时被搁在一边。另外,原则的维护应该是与开发过程并进的。随着开发的进展,先前没有能够预见的问题会不断地暴露出来,面对原则体系没有覆盖的区域,开发队伍应该首先根据基础原则,丰富原则体系,而不是从此脱离原则。