[size=large]1、 避免使用goto语句,因为他们会使代码高度依赖“偏远”地方的代码断。也就是说,我们需要在程序设计中尽量减少代码之间的相互依赖。
2、避免使用可更改的全局变量,因为这会让说有使用到它的代码断产生依赖
3、每一个变量应该尽可能保证最小的作用域。例如:一个局部变量,应该在首次使用它之前才做声明
4、无论是否有关联,让对象保持不变。
5、通过使用空行和空列,使代码更具可读性——例如,把相关的结构对齐,用空行分割代码段。
6、给对象、类型和函数使用描述性强的名车。使代码自身成文档。
7、如果你需要内嵌一段代码,那么就请把它封装成函数。
8、函数要简短,专注单一功能。古老的24行限度依然有用。虽然屏幕的尺寸和分辨率已经有了变化,但是,人们的认知能力自19世纪60年代以来仍然没有改变
9、函数应该只有少量的几个参数(4个是较好的上线)。这样做不会限制与函数数据的交流:把相关参数组合成一个单独的局部对象,用作本地的对象变量,通过他们的一致性和连贯性来简化证明。
10、更常见的是,代码的每一个单元,从一个代码块到一个库,都应该有一个“窄”接口。更少的通信可以减少所需要的证明。这意味着用getter方法返回内部状态是对象的一个职责——不要询问对象正在处理的信息是什么,而是要求对象根据已有信息去做什么,换句话说,封装就是“窄”接口的所有的一切。
11、为了保护类的不变量,setter方法应该尽量少用。setter倾向于允许破坏那些管理对象状态的不变量。[/size]
2、避免使用可更改的全局变量,因为这会让说有使用到它的代码断产生依赖
3、每一个变量应该尽可能保证最小的作用域。例如:一个局部变量,应该在首次使用它之前才做声明
4、无论是否有关联,让对象保持不变。
5、通过使用空行和空列,使代码更具可读性——例如,把相关的结构对齐,用空行分割代码段。
6、给对象、类型和函数使用描述性强的名车。使代码自身成文档。
7、如果你需要内嵌一段代码,那么就请把它封装成函数。
8、函数要简短,专注单一功能。古老的24行限度依然有用。虽然屏幕的尺寸和分辨率已经有了变化,但是,人们的认知能力自19世纪60年代以来仍然没有改变
9、函数应该只有少量的几个参数(4个是较好的上线)。这样做不会限制与函数数据的交流:把相关参数组合成一个单独的局部对象,用作本地的对象变量,通过他们的一致性和连贯性来简化证明。
10、更常见的是,代码的每一个单元,从一个代码块到一个库,都应该有一个“窄”接口。更少的通信可以减少所需要的证明。这意味着用getter方法返回内部状态是对象的一个职责——不要询问对象正在处理的信息是什么,而是要求对象根据已有信息去做什么,换句话说,封装就是“窄”接口的所有的一切。
11、为了保护类的不变量,setter方法应该尽量少用。setter倾向于允许破坏那些管理对象状态的不变量。[/size]