1.不要使用容易混淆的字母,1,l,I 0,O等
2.常量就是常量,初始化明确定义,不要在定义的时候用随机数之类的
3.三元操作符的类型务必一致
Eg:
inti=80;
Strings=String.valueOf(i>100?90:100);
Strings1=String.valueOf(i>100?90:100.0);
System.out.println(s+""+s1+""+s.equals(s1));
输出 100 100.0 false
注:三元操作符类型转化规则如下
4.避免带有变长参数的方法重载(编译器优先会选择简单的)
注:变长参数需要遵循的规则
一个方法只可以有一个变长参数
边长参数的位置必须是最后一个
5.别让null和空威胁到变长方法
会产生编译器不知道选哪个方法,编译报错
注:应该避免调用者隐藏实参类型
eg:
避免
Client client = new Client();
client.methond("hello",null)
应该使用
Client client = new Client();
String[] s =null
client.methond("hello",s);
6.复写变长方法也需要遵循规则
注:复写需要遵循的原则:
复写方法不能缩小访问权限
参数列表必须与被复写方法相同(包括显示形式)
返回值类型必须与被重写方法的方法相同或者是其子类
重写方法不能抛出新的异常,或者超出父类范围的异常,但是可以抛出更少、更有限
的异常,或者不抛异常。
7.警惕自增的陷阱
Eg:
public static void testAddSelf() {
int count = 0 ;
for (int i = 0; i <10 ; i++) {
count=count++;
}
System.out.println(count);
}
输出:0
8.少用静态导入(使得代码可读性比较差)
Eg:
import static java.lang.Math.PI;
注:静态导入一定要遵循两个规则:
不使用*通配符
方法名是具有明确、清晰表象意义的工具类
9.不要在本类中覆盖静态导入的方法和变量