函数:
1、一个函数只做一件事,函数中的语句要在同一抽象层上。自顶而下编写函数。
2、最理想的函数没有参数,不要写三个参数以上的函数。三个以上的参数应该封装为类。
3、如果函数要对输入参数进行转换,转换结果就该体现为返回值。无返回值的函数改变系统状态。
4、尽量不要想函数传入布尔值。
5、把try/catch代码块抽离形成单独的函数。
格式:
1、关系密切的概念应该互相靠近。
1、一个函数只做一件事,函数中的语句要在同一抽象层上。自顶而下编写函数。
2、最理想的函数没有参数,不要写三个参数以上的函数。三个以上的参数应该封装为类。
3、如果函数要对输入参数进行转换,转换结果就该体现为返回值。无返回值的函数改变系统状态。
4、尽量不要想函数传入布尔值。
5、把try/catch代码块抽离形成单独的函数。
格式:
1、关系密切的概念应该互相靠近。
对象和数据结构:
1、过程式代码(使用数据结构的代码)便于在不改动既有数据结构的前提下添加新函数,面向对象代码便于在不改动既有函数的前提下添加新类。
2、得墨忒耳律认为,类C的方法f只应该调用一下对象的方法:
C;由f创建的对象;作为参数传递给f的对象;由C的实体变量持有的对象。
异常处理:
1、不要返回null,就能尽量避免NullPointerException。例如Collections.emptyList()可以返回空列表。