JAVA技术开发规范(4)——JASMP平台的开发代码规范

4、关于代码规范

 代码规范对程序员的重要性:

1、在软件开发生命周期中,有80%的时间是用在维护上

2、几乎所有的软件维护者都不是创使人

3、迭代式开发,必须要有清晰、可读性强的代码,以便于快速迭代

4、敏捷开发时,对应文档的输出不是减少,而是更加实用,因此,可交付的易读的代码更为重要了

5、协同协同,必需确保在编码时遵循统一的规范

编码规范是必需的,每个参与人必需严格遵循该规范进行编码。

4.1、命名规范

基本原则:

1、采用英文全称进行命名

2、保持各层级名称基本统一

3、命名英文单词用全称,避免用简称

4.1.1、模块命名规范

作用:对于系统子模块进行命名,从而区分各子模块的含义。

要求:子模块名称采用子模块的英文简写,一般如果名称由多个英文单词组成时,采用首字母组合;如果由单个英文单词组成时,取该该单词的简写。

职责:产品经理负责进行命名

模块命名表:

序号简称全称中文
1SYSSystem系统管理
2BASEBase Data基础数据
3PPMProject Plan Manger项目计划管理
4   
5   

 

 

 

 

 

 

4.1.2、数据库命名规范

数据库对象包括(表,视图,存储过程,函数等),应遵守下面命名规则,其中(AAA是模块简称,例如: SYS、BASE、PPM等等)

对象类型格式说明备注
TableAAA_DDDDD_TAAA = 模块简称
DDDDD  = 表对象
T  = Table的简写
1、表名不超过32个英文字符
2、DDDDD为表名称,采用英文单词,多个英文单词时,用下划线隔开
3、例如:SYS_USER_ROLE_T
ViewAAA_DDDDDD_VAAA = 模块简称
DDDDD  = 视图对象
V  = View的简写
1、视图名不超过32个英文字符
2、DDDDD为视图名称,采用英文单词,多个英文单词时,用下划线隔开
3、例如:SYS_MENU_V
SequenceAAA_DDDDDD_SAAA_DDDDD  = 表对象
S  = Sequence的简写
1、AAA_DDDDD同表对象
2、例如:SYS_MENU_S
ProcedureAAA_DDDDD_PRCAAA = 模块简称
DDDDD  = 存储过程方法名
PRC  = Procedure的简写
1、表名不超过32个英文字符
2、DDDDD为存储过程方法名,采用英文单词,多个英文单词时,用下划线隔开
3、例如:AP_VENDOR_PRC
FunctionAAA_DDDDD_FUNAAA = 模块简称
DDDDD  = 函数方法名
FUN  = Function的简写
1、表名不超过32个英文字符
2、DDDDD为函数方法名,采用英文单词,多个英文单词时,用下划线隔开
3、例如:AP_VENDOR_FUN
PackageAAA_DDDDD_PKGAAA = 模块简称
DDDDD  = 包名称
PKG  = Package的简写

1、表名不超过32个英文字符
2、DDDDD为函数方法名,采用英文单词,多个英文单词时,用下划线隔开
3、例如:AP_VENDOR_PKG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.1.3、程序文件命名规范

1、文件扩展名:

文件类型扩展名
Java source.java
Java bytecode.class
Java archive.jar
WAR file.war
EAR file.ear
XML Document.xml
Property file.properties
Java Server Page.jsp
HTML Page.html
Java Script.js
CSS.css

 

 

 

 

 

 

 

 

 

 

 

 

 

2、JAVA文件命名

文件属性扩展名格式说明
VO.javaDddddVODdddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
VO:表示该对象为VO对象
DAO Interface.javaIDddddDaoI:Interface简写
Ddddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
Dao:表示该接口为Dao接口
DAO Implement.javaDddddDaoImplDdddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
Dao:表示该对象为Dao层对象
Impl:表示该对象是一个实现类
Service Interface.javaIDddddServiceI:Interface简写
Ddddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
Dao:表示该接口为Service层接口
Service Implement.javaDddddServiceImplDdddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
Dao:表示该对象为Service层对象
Impl:表示该对象是一个实现类
Controller.javaDddddControllerDdddd:表示业务对象,一般与表对象保持一致,类名称首字母大写,后面采用驼峰状命名
Controller:表示该对象是一个UI类
JSP.jspddddd_xxxxDdddd:表示业务对象,一般与表对象保持一致,文件名称首字母小写,后面采用驼峰状命名
xxxx:表示该页面属于那种类型操作页面,一般为(edit、detail、report等,分别表示:编辑表单、明细查看、报表页面等)
JS.jsddddd_xxxx一般与JSP页面一一对应

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.1.4、JAVA类及属性、方法命名规范

1、常量或枚举命名:采用有业务意义的单词组成;英文单词为全字母大写;多个英文单词用下划线分开;

2、属性命名:采用有业务意义的英文单词组成,一般为名词;VO属性与数据库字段保持一致;首字母小写;多个英文单词采用驼峰状进行命名;

3、方法命名:采用具体方法的英文单词,一般形式为动词,或动词 + 名词格式;首字母小写;多个英文单词采用驼峰状进行命名;常用的动词:set、get、create、add、modify、update、delete、remove、select、save等

4、变量命名:主要指程序块中应用到的变量。变量命名是避免采用无意义的i、str等命名规则,尽量采用的规则是与被定义的类型一致的业务对象名称。如:List<User> userList、Array<User> userArray等方式。 

5、Controller RequestMapping命名:格式:/相对路径/模块简称/contraller类名称(不包含contraller单词)/方法名称。

4.1.5、HTML、JavaScript、CSS命名规范

  1、HTML中标签和控件的命名规则:采用与业务对象一致的英文单词,一般格式为控件类型简写 + 业务对象名称;所以字母采用小写;多个单词采用驼峰装进行命名;

控件简写中文
easyui-panelpnl面板
easyui-tabstab选项卡
easyui-accordionacc分类
easyui-layoutlyt布局
easyui-menumnu菜单
easyui-menubuttonmbtn菜单按钮
easyui-splitbuttonspl分割按钮
formfrm表单
easyui-windowwin窗体
easyui-dialogdlg对话框
easyui-datagriddgd数据表格
easyui-propertygridpgd属性表格
easyui-treetree
easyui-treegridtgd树形表格
portalptl门户

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    说明:form中的控件如textbox、combobox等,可以直接采用与业务对象属性一致的名称;具体命名办法参考:4.1.4中的属性命名。

  2、Javascript的命名规则

    Javascript类命名:一般与文件名称一样;针对与页面匹配的Javascript的类命名规则:文件名称+下划线+page(如:project_edit.jsp页面对应的JS文件名称为project_edit.js,那么该js的类名称为:project_edit_page)。

    javascript全局属性命名:由于该JS对象属于页面的附属对象,因此为了避免属性与页面属性出现冲突或歧义,JS中定义的属性前必须加“p_”。具体定义的属性命名规则采用有业务意义的英文单词;多个英文单词采用下划线隔开;英文单词全部采用小写;

    javascript事件方法命名:事件对象(不包含控件简称部分) + 下划线 + 事件名称(一般有:change、click、dblclick、focus、keydown、keypress、keyup、load、mousedown、mousemove、mouseout、mouseover、mouseup、reset、resize、select、submit、unload)。

    javascript一般方法命名:采用具体方法的英文单词,一般形式为动词,或动词 + 名词格式;所有字母小写,多个英文单词采用下划线隔开;常用的动词:set、get、create、add、modify、update、delete、remove、select、save等

  3、CSS命名规则:采用全部小写方式;由于属于自定义的CSS,因此最好增加jasmp,表示属于jasmp平台自定义的;多个单词采用减号隔开;

4.2、程序注释

4.2.1、类注释

  1、目的:主要标注该类的作用,对类进行简单描述;记录类的作者和类的创建日期

  2、格式:

/**
* @ClassName: ${type_name}
* @Description: ${todo}(这里用一句话描述这个类的作用)
* @author 作者姓名   
* @date ${date} ${time}
*
* ${tags}
*/

4.2.2、属性注释

  1、目的:描述该属性的意义;对于属性有特殊含义的需要进行特别书面

  2、格式:

/**
* @Fields ${field} : ${todo}(用一句话描述这个变量表示什么)
*/   

4.2.3、方法注释

  1、目的:描述该方法的主要意义;对方法的参数进行说明

  2、格式:

/**
* @Title: ${enclosing_method}
* @Description: ${todo}(这里用一句话描述这个方法的作用)
* @param ${tags}    设定文件
* @return ${return_type}    返回类型
* @throws
*/

4.2.5、代码段注释

  1、目的:行注释是一个非常短的注释,对当前代码片段进行解释说;行尾注释写在该代码块的上面;

  2、格式:

    // 用一句话描述下面代码具体的功效

4.3、代码其他要求

4.3.1、代码格式

  1、缩进:Tab键的标准占用字符为4个空格字符

  2、行长度:每行代码最多80个字符

  3、换行规则:当一行或者一个表达式无法在一行内完成,则应该按照如下规则进行换行处理

    1)在逗号后换行

    2)运算符后换行

    3)换行后尽量使表达式排列整齐

    4)代码换行后,按照下一行比上一行多4个空字符进行缩进

  4、定义与声明:

    每个声明语句各成一行,如有特殊用途的可在后面加行尾注释

    正确示例:

int level;  // indentation level
int size;  // size of table

    错误示例:

      int level, size;

  5、定义位置:声明变量是应注意位置,至少是在一块代码的开始处(一块代码指的是用”{”和”}”包含的代码块)。不要在使用时才去声明边量,他很容易让人产生混乱,不小心还会引发错误。

  6、方法长度:一个方法代码行数保持在50行以内,超过50行的方法可以拆分成多个方法实现。(备注,代码行数指的是代码语句行数,不是编辑器行数)

  7、类方法数:一个类中方法数量保持在20个方法以内,超过20个应考虑拆分成多个类进行实现。

 

转载于:https://www.cnblogs.com/barryzhu/p/5398640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值