首先需要声明一点的是,本文属于个人观点,有可能有错误的地方,敬请原谅!
1. 什么是好的程序?
好的程序是相对而言,对于每个对象都是不一样的。对于用户而言,好的程序就是可以方便的使用,同时稳定,而且满足自己的需求;对于开发者而言,好的程序是可以根据用户的不断变化的需求被方便的修改,同时可以被(自己和其他人)看懂。
抛开那些时髦的技术来讲,对于开发人员而言,最终的目的就是在不断变化中满足用户的需求(包括开发人员的变化,如离职、工作的调动等),只要符合此标准的那么就可以被认为是好的程序。
但是就是这么一个简单的标准,又是非常的难以达到!所有的那些时髦的技术、传统的技术、未来的技术都是想达到这个标准。下面是一些个人经验,希望可以给大家一些借鉴
2. 具体的做法
无论使用什么平台,使用什么开发语言,做什么开发工作,其基本的原则应该都是一样的:
A. 在写程序之前,请认真地倾听用户的需求,最需要把握的是用户在哪个部分不清楚或摇摆不定的地方;
B. 根据用户的需求,搭建整个系统的框架,需要注意的是在用户在不清楚或摇摆不定的地方,应该多花些心思,可以设想很多用户修改的想法(虽然可能是与用户实际的想法脱离的很远),首先让这部分可以被方便的按照自己所设想那些想法修改;
C. 在一些复杂的地方,以及用户不清楚或摇摆不定的地方,请同时给出设计的方案,当然这个方案可以是文档也可以是UML,只要表达清楚就可以(最好也有整个系统的架构图)
D. 程序的原型,除了用户不清楚或摇摆不定的地方,不要有太多的想法,仅仅可以满足用户的要求即可
E. 当用户对程序提出修改意见的时候,需要对修改的部分重新架构以便当用户在同一部分又一次提出修改意见的时候很方便的修改;
F. 第一次重构修改部分往往很痛苦,请坦然接受,因为对于同一部分来说,就第一次痛苦,如果不重构,那么将每次都很痛苦,这样将自己将受不了
G. 不要埋怨用户需求,实际工作中,用户很少确切知道自己的所需,自己可以尽量做得就是,逐渐完善自己的程序,可以更快、更方便的满足用户不断变化的需求
H. 尽量将程序的功能进行分割
I. 程序中绝对不能容忍有两段一样或类似的代码
J. 一个函数的大小,不应该超过150行,如果超过了,请再写一个函数
不要使用太“深奥”的代码技术,如果必须,请加注释以便可以被他人读懂——你不能保证一辈子就在这里工作