保证在系统中没有重复的代码
保证代码是干净的,并且富有表现力,可以清晰地体现程序员的意图
用类常量替换字符串或者数字
消除所有的警告
用更有表现力的代码替代注释
一个类只做好一件事情
以较小的步伐,增量构建系统的测试和代码
任何一个方法,要么改变对象的状态,要么返回信息
确保测试是完备的,而且总是运行成功
将类和方法的数量减到最小
直到确信需要使用静态,才使用静态
静态集合通常是个坏主意
测试就是文档
Collections.sort
Comparable
接口:系统中使用接口提供抽象层,从而有助于消除重复
public class Student { enum Grade {A, B, C, D, F} } Student.Grade.A
public class Student {
public enum Grade {
A(4),B(3),C(2),D(1),F(0);
private int points;
Grade(int points){this.points = points;}
int getPoints(){return points;}
}
}
多态:设计系统通过扩展来拥抱变化,不要通过修改来适应变化
最好使用接口类型的变量以及参数
相对重载,最好使用扩展(继承重写)
使用@Override是个好主意
可变参数int...
Arrays.asList(name.spilit(" "))
避免传递异常,但也不要创建空catch块
测试可能造成问题的任何代码
如果为某个类编写了equals方法,那么应该同时编写hashCode方法