养成良好java代码编码规范

  

<强>一。基本原则

  

强制性原则:
  

  

1。字符串的拼加操作,必须使用StringBuilder。
  

  

2. try…catch的用法

        尝试{   }catch{异常e   e.printStackTrace ();   最后}{   }//在最外层的行动中可以使用,其它地方一律禁止使用;   尝试{//程序代码}捕捉(异常e){//为空,什么都不写}//在任何场景中都禁止使用   尝试{   }catch{异常e抛出runtimeException (e);//最优先采用的写法}{终于   }      

1。对于捕获后,不知道干什么事情或者也不知道怎样处理的情况,就不要捕获异常,留给外出层去捕获处理;
  

  

2。返回类型为集合的,在方法声明中必须使用泛型,必须在javadoc中注明什么情况下返回零,什么情况下返回空集合。
  

  

3。对于方法,变量声明范围要采用如下优先级:私人的,保护,公众对于变量要采用如下的优先级:局部变量,实例变量,类变量,如果必须要采用实例变量或类变量的情况下,要保证线程安全性,如有可能尽量采用ThreadLocal保存实例变量或类变量;
  

  

4。如果不是必须,不要在循环中去定义变量或者新对象,尽量在需要的最后一刻才去新对象,
  

  

5。如果不是必须,不要在循环中去用try…catch;
  

  

6。类中对于比较复杂的逻辑要采用行注释的方式进行注释,java代码中绝对不允许采用块注释(/* */)进行注释;
  

  

7。Java类的名称第一个子母必须大写,有多个单词组成的,每个单词的首字母大写
  

  

8。jsp的文件名必须全部小写;
  

  

9.春天的豆配置文件名必须小写,格式为xxx.bean.xml, xxx.bean.xml配置文件中的& lt; bean id=" ",此处的id,就是将类名的第一个字母小写放到此处。
  

  

10. xwork的配置文件名必须小写,且遵循xwork_xxx。xml的格式书写,其中XXX是业务名称的缩写;
  

  

11。日志的处理;

        如果(log.isDebugEnabled ())   ex.printStackTrace ();其他日志。错误(“从数据库删除:[" + entity.getClass () . getname() +”)实例失败”,daex);   把新PersistenceException(“从数据库删除:[" + entity.getClass () . getname() +”)实例失败”,daex);      

12。代码中严禁使用System.out.println()进行调试输出,如果要使用调试信息,必须使用log.debug()。对于必要的信息使用log.info()进行输出。
  

  

13。类中不要出现无用进口,可以采用IDE工具进行优化、类提交前进行代码的格式化;
  

  

14。有业务逻辑处理的类必须写junit单元测试类;
  

  

15。国际化的支持:ftl模板中不允许出现中文字符,要全部放到相应的属性文件中,属性文件要放到和动作类同样的目录中;ftl的编码要全部采用utf - 8的格式;属性文件的命名:中文:行动名称+“_zh”+“_CN . properties,英文:行动名称+“_en”+“_US”。属性
  

  

16。一个程序文件最好不要超过2000行
  

  

17。尽可能缩小对象的作用域,这样对象的可见范围和生存期也都会尽可能地小,尽所有可能优先采用局部变量,实在没有办法用全局变量的,优先采用ThreadLocal来处理。
  

  

18岁。一个方法所完成的功能要单一,不同的功能封装为不同的方法。
  

  

19。尽可能的处理异常或转换异常,不要一味的包装异常
  

  

20。如果对象在某个特定范围内必须被清理(而不是作为垃圾被回收),请使用带有最后子句的试块,在最后子句中进行清理。
  

  

21。对于把一些逻辑相关的类组织在一起,可以考虑把一个类的定义放在另一个类的定义中,这种情况推荐使用内部类(比如界面层中的事件响应等)。内部类拥有所有外围类所有成员的访问权。
  

  

22。对成员变量的访问最好通过getter/setter方法,这样能够保证访问的合法性,以及代码调整
  

  

23。优先选择接口而不是抽象类或具体类。如果你知道某些东西将成为基类,你应当优先把它们设计成接口,只有在必须放进方法定义或成员变量时,才把它修改为具体或抽象类。接口只和客户希望的动作有关(协议),而类则倾向于关注实现细节。
  

  

24。使用java标准库提供的容器。精通他们的用法,将极大地提高工作效率。优先选择ArrayList来处理顺序结构,选择HashSet来处理集合,选择HashMap来处理关联数组,选择linkedList来处理堆栈和队列,它对顺序访问进行了优化,向列表中间插入与删除的开销小,但随机访问则较慢。当使用前三个的时候,应该把他们向上转型为列表,设置和地图,这样就可以在必要的时候以其它方式实现

养成良好java代码编码规范