承接上一篇文章,这篇主要对规范做进一步的建议。
1.提供对实例以及类变量的访问控制
实例或类变量不要声明为共有,除非类仅仅作为数据结构,没有行为。
2.引用类变量和类方法
避免用对象访问一个类的静态变量和方法。应该用类名替代。
3.常量
位于for循环中作为计数器值的数字常量,除了-1,0和1之外,不应被直接写入代码。防止出现魔数。
4.将局部变量的作用域最小化
最好在第一次使用局部变量的时候进行初始化,或将具有关联性的变量集中声明。
5.变量赋值
避免在一个语句中对多个变量赋值,不要使用内嵌赋值。
6.优先级
在优先级容易造成阅读困扰时使用圆括号即可。
7.为switch每一个case加上break
8.合理的使用三元表达式
9.空引用
对于方法传入参数,需要进行空引用判断。
获取配置信息时,进行空引用判断。
List、Array进行操作时,进行空引用判断。
Map、List动态集合对象在创建时初始化。
10.将反复使用的字符串、数字定义成常量。
11.覆盖equeals()方法时总要覆盖hashCode()方法
12.尽量通过接口引用对象
List<String> nameList = new ArrayList<String>();
13.不使用float和double进行精确数值计算
14.循环体内不要使用try/catch
15.尽量减少不必要的synchronized
16.调用String.equals()把常量写在外面
17.调用 String.substring()时进行长度判断
18.将数据库数值类型主键对应的属性定义成Long类型