2007-12-09
编码规范
关键字: 编码规范,coding standard
以下部分引自http://wiki.springside.org.cn/display/springside/Coding+Standards
这部分比较有借鉴意义,代码中一些约束检查和异常处理,自己做了些补充。
基本规范
当面对不可知的调用者时,方法需要对输入参数进行校验,如不符合抛出IllegalArgumentException,建议使用Spring的Assert系列函数,应实现暂未实现的方法应抛出UnsupportedOperationException;
声明工具类为 public abstact class,确保只有static方法和变量的类不能被构造实例。
变量,参数和返回值定义尽量基于接口而不是具体实现类,如Map map = new HashMap();
代码中不能使用System.out.println(),e.printStackTrace(),必须使用logger打印信息。
异常处理
重新抛出的异常必须保留原来的异常,即throw new RunTimeException("message", e);
在所有异常被捕获且没有重新抛出的地方必须写日志。
logger.error("message",e);
如果属于正常异常的空异常处理块必须注释说明原因,
写日志logger.info("message"),否则不允许空的catch块。
框架尽量捕获低级异常,并封装成高级异常重新抛出,隐藏低级异常的细节。(III)
以下引自j2EE design and development/chapter 4/Coding Standards
慢慢添上来。
以下是我自己写的;
日志处理
结合异常处理。
Log4j配置和说明参见mannual文档.
系统采用Logg4j处理日志。
一般声明,可在基类中声明,子类中复用:
protected final Logger logger = Logger.getLogger(getClass());
如果static 方法需要写logger,声明:
private final static Logger logger = Logger.getLogger(***.class);
注意:不建议在static方法中写log,业务系统的log只处理业务系统的问题,static方法都是为业务逻辑服务的工具类、方法,在业务逻辑中处理异常信息,日志信息就可以了。
如果是需要持久化的类,声明logger;
protected final transient Logger logger = Logger.getLogger(getClass());
这部分比较有借鉴意义,代码中一些约束检查和异常处理,自己做了些补充。
基本规范
当面对不可知的调用者时,方法需要对输入参数进行校验,如不符合抛出IllegalArgumentException,建议使用Spring的Assert系列函数,应实现暂未实现的方法应抛出UnsupportedOperationException;
声明工具类为 public abstact class,确保只有static方法和变量的类不能被构造实例。
变量,参数和返回值定义尽量基于接口而不是具体实现类,如Map map = new HashMap();
代码中不能使用System.out.println(),e.printStackTrace(),必须使用logger打印信息。
异常处理
重新抛出的异常必须保留原来的异常,即throw new RunTimeException("message", e);
在所有异常被捕获且没有重新抛出的地方必须写日志。
logger.error("message",e);
如果属于正常异常的空异常处理块必须注释说明原因,
写日志logger.info("message"),否则不允许空的catch块。
框架尽量捕获低级异常,并封装成高级异常重新抛出,隐藏低级异常的细节。(III)
以下引自j2EE design and development/chapter 4/Coding Standards
慢慢添上来。
以下是我自己写的;
日志处理
结合异常处理。
Log4j配置和说明参见mannual文档.
系统采用Logg4j处理日志。
一般声明,可在基类中声明,子类中复用:
protected final Logger logger = Logger.getLogger(getClass());
如果static 方法需要写logger,声明:
private final static Logger logger = Logger.getLogger(***.class);
注意:不建议在static方法中写log,业务系统的log只处理业务系统的问题,static方法都是为业务逻辑服务的工具类、方法,在业务逻辑中处理异常信息,日志信息就可以了。
如果是需要持久化的类,声明logger;
protected final transient Logger logger = Logger.getLogger(getClass());
发表评论
- 浏览: 77024 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
最新评论
-
代码生成工具
晕,肯定要多用撒,省下时间
-- by xfan1982 -
eclipse开发提高coding ...
我估计评新手贴的楼主说的1/3 都没记住
-- by ddbird -
转载:做天难做二月天、做 ...
我觉得周这个人其实没有多难,其实很多的中国老百姓比他要难多了,好多人饿死了,冻死 ...
-- by wangpx -
应用的集群部署
你好: 想请教一下在GLASSFISH或APPSERVER中如何将数据库 ...
-- by yunseu -
作技术?作业务?
如果是面向软件服务,就是行业性软件公司。 大部分公司都是这样的,靠卖人、卖方案、 ...
-- by Godlikeme






评论排行榜