版权声明:所有的博客都是个人笔记,交流可以留言或者加QQ:2630492017 https://blog.csdn.net/qq_35976351/article/details/84894729
函数法则
- 函数体应该尽可能短小,每个函数只做一件事情
- 如果不是特殊要求,函数尽量使用少的参数;特殊情况除外,比如定义了一个笛卡尔坐标系点的类,则设置的函数应该是
setData(int x, int y)
- 函数的语句应该在同一个抽象层级上,如果函数中抽象层级太多,会导致缩进语句太多,导致可读性和扩展维护性差。正确的处理方式应该是把低层次的抽象封装成一个函数
- 函数尽量使用异常来代替返回的错误码,异常处理的
try
和catch
块可以的话,单独提取出来作为一个子函数使用,保证代码的可读性。 - 避免重复。如果多个函数中都出现了相同的代码片段,或者一个代码片段在一个函数中出现了多次,那么应该把这些代码块封装成一个函数。
- 如果一个函数调用了其他的子函数,那么子函数在代码中的位置应该至于当前函数的下方。
类、对象和数据结构法则
- 类的作用是保证抽象性,因此封装的数据不要直接暴露给调用者,而是封装一系列的方法来保证抽象性
- 类的方法遵循Demeter定律,即类C的方法f只应该调用以下对象的方法:
- C
- 由f创建的对象
- 作为参数传递给f的对象
- C的实体变量持有的对象
- 类应该保证短小,一个类只保证一个实体的抽象或者只拥有一个权责
- 类应该保持内聚性,一个类中的数据和方法应该是为了保证实现某个权责或者是体现某个抽象而存在的