三.格式
为什么需要重视格式:良好的代码格式能够让人一目了然。
1.在垂直方向上做概念区隔,能极大影响代码视觉外观,例如函数与函数之间,变量与函数之间。
2.关系密切的概念应该相互靠近,应该避免把关系密切的概念放在不同文件中,这也是避免使用protected变量的理由之一。
3.变量声明应该尽可能靠近其使用位置,本地变量应该在函数顶部出现
4.实体变量应该在类的顶部声明。
5.项目应该有团队规则。
四.对象和数据结构
对象与数据结构的区别:对象和数据结构是有差异的。对象把数据隐藏于抽象之后,暴露操作数据的函数,数据结构暴露其数据,没有提供有意义的函数。
得墨忒耳律:模块不应该了解它操作对象的内部情形,朋友只跟朋友说话,不跟陌生人说话。
面向过程式编程与面向对象编程的对立:过程式代码便于在不改动既有数据结构的前提下添加新函数,面向对象代码便于在不改动既有函数的前提下添加新类。
结论:对象暴露行为而隐藏数据,便于添加新对象类型而无需改变既有行为。同时也难以在既有对象中添加新行为。数据结构暴露数据,没有明显的行为。便于向既有数据结构添加新行为。同时也难以向既有函数添加新数据结构。