java编码示范.doc

上传人:小** 文档编号:4482451 上传时间:2021-09-25 格式:DOC 页数:25 大小:49.38KB
返回 下载 相关 举报
java编码示范.doc_第1页
第1页 / 共25页
java编码示范.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《java编码示范.doc》由会员分享,可在线阅读,更多相关《java编码示范.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、,JAVA编码规范,目 录JAVA编码规范11 概述71.1 范围71.2 说明72 文件体系结构82.1 文件体系规则8规则2.1.1 JSP文件目录结构8建议2.1.2 Java文件目录结构82.2 源文件结构规则9规则2.2.3 类变量的声明顺序是public,protected,package,private9规则2.2.4 变量、常量的注释应放在其上方相邻位置9规则2.2.5 用递增的方式写构造器(比如:参数多的写在后面)9规则2.2.6 类变量的存取方法:get和set方法9规则2.2.7 如果定义main() 方法,必须将main方法写在类的底部93 文件命名规则10规则3.1

2、Structs配置文件命名10规则3.2 JSP文件命名10规则3.3 Java文件命名104 排版规则114.1 语句排版规则11规则4.2.1简单语句每行至多包含一条语句11规则4.2.2 复合语句被括其中的语句缩进一个层次11规则4.2.3 左大括号应位于复合语句起始行的行尾,前面需加一个空格符;右大括号应另起一行并与复合语句首行对齐。11规则4.2.4 必须用和将if内的语句括起来。(即使只有一条语句的情况下)11规则4.2.7 在多层嵌套的for语句中,应在for上一行增加逻辑注释12建议4.2.14 “=”等比较符前后加一个空格125 注释规则135.1 类注释规则13规则5.1.

3、1 使用JavaDoc,列出功能、版本信息、日期、作者和版权声明13规则5.1.2 如果对文件进行了修改,必须说明修改目的、修改日期、修改人,并变更版本信息135.2 类方法注释规则14规则5.2.1 用中文写出每个参数和返回值的含义14规则5.2.2 当修改其他组员创建的类时,增加author标签145.3 单行注释规则14规则5.4.1单行注释位于所描述内容之前14规则5.4.2 单行注释之前留一行空行145.3.1 接口145.3.2 局部变量145.3.3 方法155.3.4 方法内部注释156 命名规则166.1 包命名规则16规则6.1.1包的名字全部小写166.2 类命名规则17

4、规则6.2.1类名用英文名称,不用汉语拼音。例如Customer,而不是KH17规则6.2.2类名是名词,采用大小写混合的方式,每个单词的首字母大写17规则6.2.3类名不要用复数17规则6.2.4类名不要以“A”,“An”或“The”开头17规则6.2.5如果不能选择适当的类名,而该类与数据库一个表紧密相关,再把数据库表名作为类名17规则6.2.6使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)17规则6.2.7 命名方式采用匈牙利式176.3 接口命名规则17规则6.3.1接口的规则与类相同17规则6.3.2接口名前面加“I”186.4 方法命名规则18规则6.4.

5、1方法名是动词名词对,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写18建议6.4.2方法名应准确描述方法的功能,不要使用无意义或含义不清的动词为方法命名186.5 变量命名规则18规则6.5.1 变量名采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写18规则6.5.2 除一次性的临时变量(如for循环变量)以外,不能用单个字符的变量名18规则6.5.3 如果变量名代表容器(collection),如Array, Vector等,在变量名后加“List”19建议6.5.4 变量名要简短且富于描述,能够指出其用途19建议6.5.5 临时变量通常被取名为i,j

6、,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型196.6 常量命名规则19规则6.6.1 类常量全部用大写字母,单词间用下划线隔开196.7 方法的参数命名规则19规则6.7.1使用全英文命名。首字母小写,后续单词首字母大写196.8 数组命名规则19规则6.8.1将 放在类型后196.9 Boolean getter 方法命名规则20规则6.9.1所有布尔型get方法必须用单词”is”作为前缀。”is”为小写,后续单词首字母大写,其余字母小写206.10 构造方法命名规则20规则6.12.1 构造方法使用类名207 程序日志打印21规则7.1后台不允许出现sysout控制台打

7、印日志;21规则7.2日志打印类统一采用“mons.logging.Log”,不允许使用其它jar包提供的类似方式;21规则7.3日志级别INFO、ERROR;21规则7.4异常信息的日志打印;21规则8.8 引用SPRING配置的bean统一采用注解方式按类型注入218 方法22规则9.1 用注释详细说明每个参数的作用、取值范围及参数间的关系229 程序效率23规则11.1 不要在循环内执行重复操作23规则11.2 在对字符串有附加操作时,使用StringBuffer而非String。使用StringBuffer性能会好很多23建议11.3 显式地把已经不再被引用的对象赋为null23建议1

8、1.4 不要频繁初始化对象2310 质量保证2510.1 质量保证规则25规则12.1 打开的数据库连接、文件在使用后必须关闭25建议12.2 合理设计程序,避免占用太大内存2510.2 安全规则25规则12.3不要使用不推荐的API25规则12.5在程序中出现连续get值时,需判断是否为空,杜绝空指针2511 WEB编码规范2611.1 html、css、js、images、jsp均须按照约定目录存放;26JavaScript书写规范2611.2 注释规范26附录A 词典规范27A.1 动词词典27A.2 名词词典28 1 概述制定编码规范的最主要的目的是为了对产出代码的长期维护。通常负责维

9、护代码的人大多都不是开发者本人,如果有一个统一的代码格式以及说明就可以减少混淆提高理解速度。因此,下列的编码规范是基于良好的编码习惯和可读性的原则来制定的。特别说明:不反对不提倡拷贝粘贴,但拷贝的每行代码务必清楚意思和原因!1.1 范围本文档仅仅是编码规范,它定义了所有代码编写者在编写Java代码时应遵守的一些规则和习惯。同时,还提供一些有关编写Enterprise JavaBean代码的命名规则和习惯。本规范采用以下术语描述: 规则:编程时强制必须遵守的原则。建议:编程时需考虑的事项。 说明:对此规则或建议进行必要的解释。 示例:对此规则或建议从正、反两个方面给出例子。1.2 说明本文档中标

10、注规则的地方为强制要求。鼓励对当次需求变更涉及代码进行重构,简单原则:发现重复抽取不同点封装共同点并将不同点传参递归。特别注意:在没有充分测试保证的前提下,避免主动对涉及其它重要业务功能的代码进行重构。2 文件体系结构2.1 文件体系规则规则2.1.1 WebRoot文件目录结构|images 存放图片|resources |css 存放样式表|js 存放javascript脚本|模块分类名 |WEB-INF 存放页面和配置文件|config 存放log4j文件、jdbc文件|jsp 存放jsp页面|模块分类名注:jsp页面引用的js名称必须相同,基于js和jsp文件夹下的路径必须相同规则2.

11、1.2 Java文件目录结构com.56sino|base存放基础类|controller存放接口控制类|dao存放数据接口类|impl存放数据接口实现类|filter存放过滤类|listener存放监听类|service存放服务接口类|impl存放服务实现类|util存放公共工具类|controller存放模块接口控制类|dao存放模块数据接口类|impl存放模块数据接口实现类|entity存放模块实体类|service存放模块服务接口类|impl存放模块服务接口实现类|sql存放Mybatis/Ibatis Sql文件2.2 源文件结构规则规则2.2.3 类变量的声明顺序是public,p

12、rotected,package,private公共变量(Public)保护变量(Protected)包一级别的变量(没有访问修饰符)私有变量(Private)根据实际变量的引用范围适当采用。规则2.2.4 变量、常量的注释应放在其上方相邻位置或右方 规则2.2.5 用递增的方式写构造器(比如:参数多的写在后面) 规则2.2.6 类变量的存取方法:get和set方法规则2.2.7 如果定义main() 方法,必须将main方法写在类的底部3 文件命名规则规则3.1 JSP文件命名xxxMain.jsp主页面xxxInsert.jsp新增页面xxxUpdate.jsp 修改页面xxxDetail

13、.jsp 详情页面规则3.2 Java文件命名接口控制类模块名Controller.java数据接口类I模块名Dao.java数据接口实现类模块名DaoImpl.java服务接口类I模块名Service.java服务接口实现类模块名ServiceImpl.java实体类数据库表名(去掉数据库前缀、下划线).javasql文件实体类名.sqlMap4 排版规则4.1 语句排版规则规则4.2.1简单语句每行至多包含一条语句argv+; / 正确argc-; / 正确argv+; argc-; / 禁止这样使用!int i = 0;/ 正确int j = 0;/ 正确Int i = 0, j = 0

14、;/ 禁止这样使用!规则4.2.2 复合语句被括其中的语句缩进一个层次规则4.2.3 左大括号应位于复合语句起始行的行尾,前面需加一个空格符;右大括号应另起一行并与复合语句首行对齐。示例:for (initialization; condition; update) statements;规则4.2.4 必须用和将if内的语句括起来。(即使只有一条语句的情况下)正确:If (condition) System.out.println(“正确”);错误:if(condition)System.out.println(“错误”);规则4.2.5 在多层嵌套的for语句中,应在for上一行增加逻辑注

15、释规则4.2.6 “=”等运算符前后加一个空格规则4.2.7 重载方法按照参数个数升序排序建议4.2.8 行长度超过一屏时必须适当折行,以不出现横向滚动条为宜5 注释规则5.1 类注释规则规则5.1.1 类注释示例:/* * see 类名注释 * author 作者 */规则5.1.2 方法注释示例:/* * see 方法功能 * param 参数类型及含义 * return 如有返回值需注明返回数据类型及含义 * author 作者 */规则5.1.3 单行注释双斜杠+空格+内容除if else注释在左大括号后以外,其余注释于代码的上一行规则5.1.4 类属性必须用单行注释其含义6 命名规则

16、6.1 包命名规则规则6.1.1包的名字全部小写,所有包必须基于con.56sino6.2 类命名规则规则6.2.1类名用英文名称,禁止汉语拼音。规则6.2.2类名是名词,采用大小写混合的方式,每个单词的首字母大写规则6.2.3类名不要用复数规则6.2.4类名使用完整单词,避免缩写词(除非该缩写词被广泛使用)规则6.2.5 尽量简短易懂规则6.2.6 接口控制类后加Controller规则6.2.7 服务接口类前面加大写I,后加Service规则6.2.8 服务接口实现类后加ServiceImpl规则 6.2.9 数据接口类前加大写I,后加Dao规则6.2.10 数据接口实现类后加DaoImp

17、l规则6.2.11 实体类与对应数据库表名一致(去掉数据库前缀和下划线)6.3 方法命名规则规则6.3.1 首字母小写,其他首字母大写规则6.3.2 方法名准确描述方法的功能,禁止无意义或含义不清的方法名规则6.3.3 通用方法名新增 xxxInsert修改 xxxUpdate删除 xxxDelete查询单体xxxLoad查询结合xxxList/xxxMap分页xxxPage规则6.3.4 前台js调用controller,controller调用service,service调用dao,dao调用sql语句,方法名保持一致规则6.3.5 参数用全英文命名。首字母小写,后续单词首字母大写6.4

18、 变量命名规则规则6.4.1 变量名采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写规则6.4.2 除一次性的临时变量(如for循环变量)以外,不能用单个字符的变量名规则6.4.3 如果变量名代表集合,如Map, List等,在变量名后加对应集合名字List,Map建议6.4.4 变量名要简短且富于描述,能够指出其用途建议6.45 临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,它们一般用于字符型6.5 常量全部用大写字母,单词间用下划线隔开6.6 数组命名规则,将放在类型后6.7 Boolean getter 方法命名规则规则6.7.1所有布尔型get

19、方法必须用单词”is”作为前缀。”is”为小写,后续单词首字母大写,其余字母小写6.8 sqlMap文件命名规范规则6.8.1 实体类名字+.xml规则6.8.2 命名空间为实体类名字规则6.8.3 简称为实体类名字简称7 程序日志打印规则7.1后台不允许出现sysout控制台打印日志;规则7.2前台不允许出现alert输出语句,调试完成后必须删除规则7.3日志打印类统一采用log4j打印,不允许使用其它jar包提供的类似方式;规则7.4日志级别INFO、ERROR;info为提示信息,error为错误信息 8 程序效率规则8.1 不要在循环内执行重复操作可在循环外调用一次的,就避免在循环内进

20、行不必要的反复调用。示例:for (int i = 0; i dw.getRowCount(); i+) 应写成:int rows = dw.getRowCount();for (int i = 0; i rows; i+) 规则8.2 在对字符串有附加操作时,使用StringBuffer而非String。建议8.3 尽量避免多级嵌套循环建议8.4 尽量减少if中的判断条件9 Sql语句书写规则9.1 所有关键字大写,如SELECT,FROM,WHERE等规则9.2 语句折行,关键字前后加空格,逗号后加空格,运算符前后加空格示例:SELECT 字段1, 字段2, 字段3FROM 表1, 表2W

21、HERE 条件1 AND 条件2ORDER BY 条件LIMIT规则9.3 一个方法使用一条sql,不允许sql复用规则9.4 按需查询,不允许SELECT *建议9.5 尽量减少子查询,尽量减少表关联10 数据类型转换规则10.1 使用数据类型.valueOf()转换示例:String.valueOf();Integer.valueOf();禁止xxx.toString(),Integer.pasInt();11 异常处理规则11.1 公共方法直接抛出异常,调用时进行捕获处理规则11.2 dao层直接抛出异常,调用时进行捕获处理规则11.3 controller层禁止抛出异常,需对异常进行捕获处理规则11.4 service层禁止直接抛出异常,如受事物影响必须抛出异常,需在try catch后,throw new RuntimeException(错误信息); 规则11.5 方法异常处理必须用try catch捕获可能存在的异常,并调用日志服务公共类保存和打印错误日志,最后返回统一异常信息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁