文档介绍:Java开发规范
-Java基础培训
目录
Java命名规范
编程纪律(十不要原则)
缩进排版
注释与说明
程序的”坏味道”
代码检查CheckStyle
代码范例
开发规范的重要性
√
语句规范
开发规范的重要性
定义规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少出现错误的几率。
减少维护成本;
一个软件的生命周期中,80%的花费在于维护,另一方面,几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护,规范的编码减少人员变动带来的维护成本。
改善软件的可读性
可以让程序员尽快而彻底地理解新的代码。
程序的坏味道
1)在循环中对字符串操作时用String
2)不考虑Windows与Unix平台的互移植性
3)滥用synchronized 关键字
4)在循环中构造和释放对象
5)对文件或者数据库的操作不及时关闭
6)不写Main()方法
7)一个方法的代码过长,超过1000行
8)不写注释,或者注释不清晰;命名不规范;排版格式混乱,不注意缩进与对齐等
9)滥用public公共类定义
10)在程序中使用硬编码
11)出现http 404或http 500错误
12)在JSP页面中使用JDBC API,直接写SQL语句以及业务逻辑代码
13)在程序代码中存在垃圾数据文件(,keep, cvs文件夹等)
14)JSP或者Java源文件文件中有^M的问题
15)
16)对数组为空、数组越界、页面传递的参数为空等异常情况不做任何处理
17)上传附件的代码中,不检查文件名长度以及附件的文件大小不做限制
18)Socket,JDBC资源,File(I/O相关), LDAP连接,JMS连接,EJB,Non-Serialable Object等对象放入Session
19)方法的参数很多,超过5个
程序的坏味道(1)
在循环中对字符串操作时用String
String sentence = "";
for( int i = 0; i < ; i++ ) {
sentence += wordArray[ i ];
}
()优化,优化后为:
StringBuffer buffer = new StringBuffer( 500 );
for( int i = 0; i < ; i++ ) {
( wordArray[ i ] );
}
String sentence = ( );
程序的坏味道(2)
考虑Windows与Unix平台的互移植性
换行符
("Hello,world!\n");
优化后:
("Hello,world!");
或者你构造一个带换行符的字符串:
String newline = ("");
("Hello world" + newline);
路径分隔符
在UNIX和Windows环境下,会采用不同的路径分隔符,如Windows中用”\”,而UNIX下一般采用”/”,因此为了保证系统的可移植性,需要分别进行处理。
String file_path = dir + “/”+ file_name;
优化后:
String file_path = dir + + file_name;
程序的坏味道(3)
滥用synchronized 关键字
public   class  LazySingleton {      private   static  LazySingleton m_instance = null ;      private LazySingleton(){};      synchronized public static LazySingleton getInstance(){         if(m_instance==null)             m_instance=new LazySingleton();         return m_instance;     } }
程序的坏味道(4)
在循环中构造和释放对象
程序的坏味道(5)
对文件或者数据库的操作不及时关闭
FileOutputStream fos = new F