1.数据库操作、IO操作等需要使用结束close()的对象必须在try -catch-finally 的finally中close(),如果有多个IO对象需要close(),需要分别对每个对象的close()方法进行try-catch,防止一个IO对象关闭失败其他IO对象都未关闭。
2.系统非正常运行产生的异常捕获后,如果不对该异常进行处理,则应该记录日志。
3.自己抛出的异常必须要填写详细的描述信息。
4.运行时异常使用RuntimeException的子类来表示,不用在可能抛出异常的方法声明上加throws子句。非运行期异常是从Exception继承而来的,必须在方法声明上加throws子句。
5.在程序中使用异常处理还是使用错误返回码处理,根据是否有利于程序结构来确定,并且异常和错误码不应该混合使用,推荐使用异常。
6.注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
7.避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的静态变量或者枚举来代替。使用异常来表示方法执行错误,而不是使用C++的错误返回码方式。
8.数组声明的时候使用 int[] index ,而不要使用 int index[] ;
9.不要使用 System.out 与 System.err 进行控制台打印,应该使用工具类(如:日志工具)进行统一记录或者打印。
10.用调测开关来切换软件的DEBUG版和正式版,而不要同时存在正式版本和DEBUG版本的不同源文件,以减少维护的难度。
11.集合必须指定模板类型Map<String,String> maps = new HashMap<String,String>();
12.一个文件不要定义两个类(并非指内部类)。
13.所有的数据类必须覆写toString()、hashCode()、equals() 方法,toString()方法返回该类有意义的内容。
14.判断语句不要使用”* == true”来判断为真
15.不要写没有必要的向上强制转型。int m = 10; float n = (float)m;