系统编码规则文档.docx
《系统编码规则文档.docx》由会员分享,可在线阅读,更多相关《系统编码规则文档.docx(10页珍藏版)》请在冰点文库上搜索。
![系统编码规则文档.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/66243cd0-5778-41d1-9e91-a1f69dc08282/66243cd0-5778-41d1-9e91-a1f69dc082821.gif)
系统编码规则文档
神龙汽车有限公司
企业目录(IDM)
程序编码规范
版本号:
1.0
用户代表
组织人员
项目负责人
纬创公司
1.命名规范
1.1.方法命名
2.Service方法命名
业务逻辑类通常定义增、删、改、查业务逻辑,方法的命名规则如下:
⏹新增:
doAdd
⏹修改:
doUpdate
⏹删除:
doDelete
⏹查看详细信息:
detail
⏹根据条件查询:
query
⏹导入:
doImport
⏹导出:
export
⏹计算:
math
2.1.变量命名
3.常量
对于类中的常量,常量的名称采用全部大写字母的形式,单词间以下划线“_”间隔,例如USER_PROFILE_KEY。
如果该常量为固定值,请将该常量设定为publicstaticfinal属性。
4.临时变量和静态变量
⏹对于这二种变量,命名规则为:
“变量类型”+“变量名主体”。
其中,“变量类型”用简写的方式来代表不同类型的变量,常用的变量类型简写形式如下:
资料类型
头文字
例
String
str
strRenban
boolean
b
bRet
int
i
iRet
long
l
lQty
double
d
dTanka
StringBuffer
sb
sbName
方法的变量
prm
prmCode
⏹“变量名主体”是指具有某种含义的英文单词或单词缩写,用于代表对应的变量实体。
作为“变量名主体”的单词或缩写的首字母要求大写,首字母后的字符采用小写的形式,如果“变量名主体”是由多个单词或单词缩写形式构成,则每个单词或缩写形式的首字母均应大写,其余字母小写。
例如,一个公司的总人数可以用整型变量iEmployeeCount来表示。
这个变量名的“变量名主体”即由一个英文单词“employee”和单词“count”组成,这二个组成部分的首字母均用大写的形式。
⏹对于class类型的变量,可以直接采用类名,并首字母小写。
5.属性
⏹Form类中的属性变量,变量名和数据库中的字段名称相同,但是变量名中所有的字母的开头一个字母大写,其余小写,例如functionId,用于存储查询条件的属性在开头加上“sh”,例如shFunctionId。
⏹不对应到数据库表的属性变量名,可用通用的变量名命名规则。
5.1.类命名
通用规则:
所有类名的首字母必须大写。
6.Action
⏹Action的命名规则:
业务逻辑名+功能类型标识Action,例如ParamQueryAction。
⏹新增功能类型标识:
Add
⏹修改功能类型标识:
Update
⏹删除功能类型标识:
Delete
⏹查看详细信息功能类型标识:
Detail
⏹根据条件查询功能类型标识:
Query
⏹导入功能类型标识:
Import
⏹功能导出功能类型标识:
Export
⏹计算功能类型标识:
Match
7.FormBean
⏹命名规则:
业务逻辑名+功能类型标识Form,例如ParamQueryForm。
⏹FormBean详细命名规则和Action相同。
8.JSP
JSP画面首字母小写。
⏹查询列表页面的命名规则:
业务逻辑名Query.jsp,例如paramQuery.jsp。
⏹新增页面的命名规则:
业务逻辑名Add.jsp,例如paramAdd.jsp。
⏹修改页面的命名规则:
业务逻辑名Update.jsp,例如paramUpdate.jsp。
⏹查看页面的命名规则:
业务逻辑名Detail.jsp,例如paramDetail.jsp。
⏹导出页面的命名规则:
业务逻辑名Export.jsp,例如paramExport.jsp。
9.Service
⏹命名规则:
业务逻辑名Service,例如ParamService。
⏹Service详细命名规则和Action相同。
10.VO
⏹命名规则:
业务逻辑名VO,例如ParamVO。
10.1.数据库相关命名
11.表格命名
⏹命名规则:
表格名称,例如role_function,表格名称全小写
⏹表格相关索引命名:
表格名称_index(1。
。
。
。
n),例如:
role_function_index1
12.字段命名
⏹命名规则:
代表具体含义的单词,例如function_id。
⏹字段采用小写字母,单词间用”_”分隔。
12.1.
程序互相调用规则
⏹不同模块的Service之间,不允许互相调用。
不同模块需要调用的一些共用的业务逻辑处理,可以放在公用服务的包中,如mon。
⏹系统框架工程的程序请不要随便修改。
系统框架包含事务处理、日志处理、通用工具类等。
如果有修改的需要,请向TL提出说明。
⏹ACTION间传值需要传值时,两个相关的ACTION对应的FormBean使用相同的属性名。
不允许采用其它方式。
13.
注释规则
14.类程序的注释
⏹文件头的注释
/**
*大区参考系SERVICE
*History
*Date(DD/MM/YYYY)AuthorDescription
*-----------------------------------------------------------------------
*31/10/2007YukiFengCreated
*/
⏹class前的注释
/**
*
className
*
description:
类的说明,如selectlistfromtableREEQT07(site)
*/
⏹方法前的注释
/**
*方法的说明
*@param参数说明
*@return返回值
*@throwsFwkExceptionException
*/
如果没有参数,返回值,异常,对应的注释行就不写.
⏹变量的注释
/**
*变量的说明
*/
⏹代码行的注释
对主要流程,复杂的程序功能须做简单的说明。
15.JSP的注释
<%--
ProviderWistronITS
Description:
省份列表查询页面
History
Date(DD/MM/YYYY)AuthorDescription
-----------------------------------------------------------------------
06/11/2007YukiFengCreated
--%>
16.编码规则
17.JSP编码规则
⏹Rule1:
输入项命名参照formbean中对应属性,如:
functionId→功能编码
⏹Rule2:
页面上每个TEXT控制项必须参照数据库中对应字段的长度设置最大可输入长度,如客户代号在数据库中为13位元,则:
⏹Rule3:
必输项的检查(主要是insert及update功能):
数据库中定义不能为空(或设计文档中说明不能为空)的项,在页面表单提交时必须做不能为空的检查。
⏹Rule4:
部份输入项须根据需求检查输入内容,如只能输入数字和英文字母。
⏹Rule5:
页面的form表单及表单中所有的输入项(包括提交button),全部使用struts的标签。
⏹Rule6:
页面中逻辑处理部分使用struts标签(logic,bean)。
⏹Rule7:
JSP文件本身必须为UTF-8的格式。
⏹Rule8:
页面转向尽量使用action去完成,而不要直接转向jsp页面。
如果有需要预处理的数据(如下拉框),也尽量通过action完成,而少用jsp:
include标签。
⏹Rule9:
JSP页面中尽量不要出现JAVASCRIPT语句,而是通过调用相应的JS文件来完成。
JS文件命名规则业务名称.js
⏹Rule10:
JAVASCRIPT函数名命名规范
doAdd新增操作
doDel删除操作
doMod修改操作
doQuery列表查询操作
doQueryDetail详细信息查询操作
doSort排序
doUpload文件上传
doOpen打开一个新窗口
doClickonclick事件,其余事件触发的函数命名以此类推。
18.JAVA程序通用编码规则
⏹Rule1:
JAVA单个方法代码行数在150行以内。
⏹Rule2:
JAVA类代码行数在2000以内。
⏹Rule3:
循环层级在3层以内,如需要超过3层,请和设计人员沟通确认。
⏹Rule4:
程序中不允许出现中英文,不允许使用中英文做为等于判断的条件。
19.FormBean编码规则
⏹Rule1:
所有form要继承自com.dpca.framework.view.form.BaseForm。
⏹Rule2:
属性的命名与其所对应的页面的输入项一致,如有特殊要求(如下拉框数据集合),可增加属性及get,set方法(不一定要成对出现,视具体需求而定)。
⏹Rule3:
GET及SET方法命名为get/set+属性(第一个字元大写);
如:
getFunctionId。
⏹Rule4:
VOBean与FormBean两个对象中的属性名应该一致,这样方便使用BEANUTIL工具进行COPY赋值。
⏹Rule5:
如果form属性需要做初始化,在reset方法中进行设置。
20.Action编码规则
⏹Rule1:
所有Action尽量不要处理业务逻辑,只做数据传输及调用业务方法的事情。
⏹Rule2:
需要打印调试信息的地方,调用属性log的对应方法即可。
如:
log.debug(“itisadebuginfo”);对于关键操作,请使用com.dpca.framework.util.BusinessLogUtil;对于系统运行或调试记录,请使用com.dpca.framework.util.SystemLogUtil;对于后台任务自动运行记录,请使用com.dpca.framework.util.TaskLogUtil;
⏹Rule3:
在调用业务方法时,传递FORM给Serivce
⏹Rule4:
每个页面对应一个ACTION,一个ACTION也只对应一个页面。
21.StrutsConfig编码规则
⏹Rule1:
各功能模块使用自己的config档,命名为struts-config-模块名。
如:
struts-config-system.xml
⏹Rule2:
Form-bean的名称与Form类名(不含包名)相同。
Action路径为“业务逻辑名Action”
如:
⏹Rule3:
form缺省的使用范围是session,如果需要将其限制为request范围内使用,必须要加上scope="request"的属性。
如:
Input属性的值为该ACTION对应的页面。
⏹Rule4:
forward的命名规则,首字母小写,如包含多个词,每个词首字母大写;名称应采用有意义的与转向页面相关的词。
例:
query:
表示转向查询列表页面
add:
表示转向新增页面
init:
进入页面初始化
update:
表示转向修改页面
export:
表示转向导出页面
detail:
表示转向查询详细信息页面
22.Service编码规则
⏹Rule1:
所有Service继承自com.dpca.framework.service.BaseService。
23.VO编码规则
⏹Rule1:
VO请序列化。
24.SQL编码规则
⏹Rule1:
SQL语句中尽量不使用DB的函数。
⏹Rule2:
多表查询尽量不使用子查询。
⏹Rule3:
多表查询最大连接表个数为3,如需超过请告知TL,并在提交工作包时附带说明。