1.保证数据私有
保持实例域的封装性时,数据表示形式的变化不会对类的使用者产生影响,方便检测bug;
2.保证初始化数据
不要依赖于系统的默认值,而是应该显式地初始化所有数据;
3.使用新类代替本类中过多的实例变量
本类中使用过多的基本类型,将不利于理解和修改,最好创建一个新类替换本类中多余的实例域;
4.根据不同域的需求创建独立的域访问器和域更改器
并非所有的域都需要独立的域访问器和域更改器,有些对象一旦构建了,并不希望别人获得或设置其实例域;
5.使用新类代替本类中过多的方法
明显也可分解和简化本类功能的类,就应该分解成各自独立功能的小类;
6.类名和方法名应该体现各自的职责
命名新类的方法通常采用一个名词、前面带有形容词修饰的名词或动名词修饰名词;命名新方法,通常访问器小写get开头,更改器小写set开头;
7.优先使用不可变的类
即没有方法能够改变对象状态的类。更改对象的问题在于,如果多个线程试图同时更新一个对象,就会发生并发更改,其结果是不可预料的;如果类是不可变的,就可以安全地在多个线程间共享其对象。