<强>一。基本原则强>
强制性原则:
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来处理堆栈和队列,它对顺序访问进行了优化,向列表中间插入与删除的开销小,但随机访问则较慢。当使用前三个的时候,应该把他们向上转型为列表,设置和地图,这样就可以在必要的时候以其它方式实现