OFBiz项目中代码规范建议
OFBiz项目中代码规范建议_beta0.1_build20110303
?
本规范建议分ABCD四档 ABC中每档不超过6条记录,D档中记录数不限
A 为坚决避免,出现该错误的话,不能容忍.
B 为推荐规范,尽量照其靠拢.
C 为过时的AB中的内容,或级别更低的推荐规范.
D 为ABC中过时的东西,类似windows回收站的角色,仅为初入Java职途的人士提供建议.
?
A.1 在java代码中,书写业务的时候,不能出现java迭代器中包含重复执行操作数据库的语句.每个java方法不要超过50行.
A.2 在java代码中,不能出现如下代码
????? try{
?????????? ........业务逻辑
????? }catch (Exception e) {}
A.3 在java代码中,最后输出到页面的list必须调用performFind或以及基于performFind改进的service方法.
????? 避免自己书写分页方法.
A.4 ftl中如有公共用法,应采用marco的写法.封装为控件.不得粘贴复制修改函数名
A.5 根据OFBiz约定成俗的一些用法, 推荐
? 显示用途的request-map请求首字母大写
? <request-map uri="FindProduct">
??????? <security https="true" auth="true"/>
??????? <response name="success" type="view" value="FindProduct"/>
??? </request-map>
? <request-map uri="EditProduct">
??????? <security https="true" auth="true"/>
??????? <response name="success" type="view" value="EditProduct"/>
??? </request-map>
?
? 操作数据库用途的request-map请求首字母小写
? <request-map uri="createProduct">
??????? <security https="true" auth="true"/>
??????? <event type="service" invoke="createProductService"/>
??????? <response name="success" type="view" value="createProduct"/>
??? </request-map>
? <request-map uri="updateProduct">
????? <security https="true" auth="true"/>
????? <event type="service" invoke="updateProductService"/>
????? <response name="success" type="view" value="updateProduct"/>
? </request-map>
显示界面的如 FindProduct 查询产品 ListProduct 列表产品 EditProduct编辑产品 NewProduct新建产品
操作数据库的如 createProduct 创建产品 updateProduct修改产品 removeProduc删除产品
?
A.6 request-map名称尽量和他默认跳转的view-map名称相同
????? view-map名称尽量和他默认跳转的screen名称相同
????? screen名称尽量和他默认包含的主的form名称相同
?
?
?
B.1 推荐在java代码中,
????? try{
?????????? ........业务逻辑
????? }catch (Exception e) {
????????? Debug.log(e.getMessage(), module);
????????? 其他代码
????? }
B.2 推荐在写表单页面时尽可能采用forms.xml的写法,避免写ftl.
B.3 ftl仅仅用来处理 1调整布局 2显示按钮及控制其状态
B.4 系统中凡是处理状态的代码,尽可能采用ECA代替,这样我们应对客户流程变更时,会显得得心应手些.
B.5 写forms.xml时,尽可能让他简洁,我们掌控不好的东西尽量写在screens.xml中
B.6 写screens.xml时,可以多个forms拼接在一起使用
?
C.1 写screens.xml时,尽可能提炼系统级别的模板装饰器
C.2 代码注释尽量少写,常规注释不必写
?
D 暂无.
1 楼 ppcqx 2011-11-09 一直觉得 request 配置里面有的首字母大写, 有的小写。看了你的规范A5以后,才发现原来是有道理的。