1. 对于静态方法,应该使用类名去使用,不应该用实例去引用,主要是为了体现更多的语义。
Thread.sleep(1000);
//避免,无法体现sleep 是静态方法还是实例方法
thread.sleep(1000);
2 对一些基本数据类型和不太可能通过继承进行扩展的类,应声明为final,提高效率。
3 类和方法的粒度保持适中,保持类的规模尽量短小,职责单一。小类有很多好处,易
于设计,易于测试,易于理解。同样方法也要尽量的小,每个方法尽量不要超出25 行。
4 开闭原则,软件应该对扩展开放,对修改开放。也就是说,应该在不修改以前源代码
的基础上,改变程序的行为以适应新的需求。
5 里氏代换原则:假设有两个类,一个是基类Base,一个是派生类Derived,如果一个
方法可以接受基类对象b 的话:method1(Base b),同样,这个方法也应该接受派生类Derived
的对象d,而不影响方法的行为。里氏代换原则是继承复用的基石。
6 抽象依赖原则(稳定依赖原则)。应该依赖于抽象而不依赖与具体类,抽象的类和接口是
稳定的,而具体类是易变的,如果依赖于具体类,代码就会非常脆弱,失去了灵活性。
7 接口隔离原则,一个类对另外一个类的依赖应该建立在最小的接口之上的。
8 单一职责原则,如果一个类有多于一种的职责,当需求变化时,类的职责就要发生变化,而
因此就会引起引用该类的代码发生改变,职责越多,这个类就容易跟更多的类产生耦合关系,
而且改变一个职责,可能会影响到另外一个职责的履行。
9 编写代码前,先编写注释(可以认为是伪代码),先想后写。
/**
* 报表构建器,主要职责:
* 1.创建拷贝报表模版
* 2.填充报表数据
* 3.构建报表
* 4.画图处理
*/
通过编写这些伪代码,可以起到理清思路的作用,这时候再编写代码,过程就非常流畅了,
不会编一会儿,想一会儿,删掉代码,再重新编。