2022年JAVA开发编码规范. .pdf
《2022年JAVA开发编码规范. .pdf》由会员分享,可在线阅读,更多相关《2022年JAVA开发编码规范. .pdf(18页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1/18 JAVA 开发编码规范名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 18 页 - - - - - - - - - 2/18 版 本 说 明版本制订人制订日期主要内容名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 18 页 - - - - - - - - - 前言 . 4目的 . 41.2、范围 . 4格式规范 . 52.1 缩进 . 52
2、.2 换行 . 52.3 间隔 . 52.4 对齐 . 52.5 括号 . 6三、注释规范 . 63.1 基本原则 . 63.2 文件注释 . 63.3 Java Doc 注释 . 73.4 失效代码注释. 83.5 代码细节注释. 83.6 注释的格式 . 83.7 注释的内容 . 93.8 Null 规约 . 94 命名规范 (Naming Conventions) . 10 4.1 基本约定 . 10 4.2 文件、包 . 11 4.3 类、接口 . 11 4.4 字段 . 11 5 编程规范 (Programming Conventions) . 12 5.1 基本规范 . 12 5.
3、2 类与接口 . 13 5.3 方法 . 13 5.4 错误与异常 . 14 5.5 JDK5.0 及后续版本 . 15 5.6 性能与安全 . 15 6 自动代码检查和修正. 17 6.1 为了编码的一致性,统一将Workspace 中的编码方式设置为UTF-8 编码 . 17 6.2 使用统一的代码模板. 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 18 页 - - - - - - - - - 前言目的本规范的目的是通过建立编码规范统一每个开发人员的编码习惯,
4、提高程序的可靠性、可读性、可修改性、可维护性及一致性,增加团队合作开发效率,为各项目组之间或项目组内成员之间的技术交流提供一个方便统一的方式。1.2、范围本规范适用于公司内所有运用JAVA 技术的软件项目、产品等的设计、开发以及维护、升级等。本规范适用于公司所有JAVA 软件开发人员。本规范建议的开发环境与工具如下:IDE:Eclipse3.3.2 以后版本插件 :MyEclipse6.0 以后版本JDK: Sun JDK 1.5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4
5、页,共 18 页 - - - - - - - - - 格式规范对于代码,首要要求是它必须正确,能够按照设计预定功能去运行;第二是要求代码必须清晰易懂,使软件开发团队中的程序员能够很容易地理解代码。代码的组织和风格的基本原则是:便于自己的开发,易于与他人的交流。因个人习惯和编辑器等可以设置和形成自己的风格,但必须前后一致,并符合本规范的基本要求和原则。2.1 缩进使用 TAB 缩进,而不是空格键 将缩进 2,4,8 字符的选择权留给阅读者。子功能块当在其父功能块后缩进。当功能块过多而导致缩进过深时当将子功能块提取出来做为子函数。2.2 换行页宽应该设置为80 字符。一般不要超过这个宽度, 这会导
6、致在某些机器中或打印(A4 )时无法以一屏来完整显示, 但这一设置也可以灵活调整。在任何情况下, 超长的语句应该在一个逗号后或一个操作符。前折行。一条语句折行后, 应该比原来的语句再缩进一个TAB,以便于阅读。2.3 间隔类、方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的大片空行。操作符两端应当各空一个字符以增加可读性。相应独立的功能模块之间可使用注释行间隔,并标明相应内容。2.4 对齐关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐。连续赋值时应当对齐操作符。当方法参数过多时在适当的参数后(逗号后) 换行并对齐。当控制或循环中的条件比较长时当换行(操作符前)、对齐
7、并注释各条件。2.5 括号括号中的语句应该单独作为一行,左括号 当紧跟其语句后,右括号 永远单独作为一行且与其匹配行对齐,并尽量在其后说明其匹配的功能模块。较长的方法以及类、接口等的右括号后应使用/end .等标识其结束。如: 类的结束符:/end ClassName,方法结束符:/end methodName() ,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 18 页 - - - - - - - - - 功能块结束:/end if.userName is null?
8、 循环快结束:/end for.every user in userList 不要在程序中出现不必要的括号,但有时为了增加可读性和便于理解,当用括号限定相应项。if, for,while 语句只有单句时,如果该句可能引起阅读混淆,需要用 和 括起来,否则可以省略。三、注释规范3.1 基本原则基本原则:注释应该增加代码的清晰度。代码注释的目的是要使代码更易于被其他开发人员等理解。注释信息不仅要包括代码的功能,还应给出原因。除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。3.2 文件注释在每个文件、包的头部都应该包含该文件的功能、作用、作者、版权以及创建、修改记录等。并在其中
9、使用版本仓库标记自动跟踪版本变化及修改记录等信息。注意是标准的C-Style/*.*/ 注 释 而 不 是 /* .*/ 形 式 的JavaDoc 注 释 , 在ECLIPES中 使 用CODE TEMPLATES 会自动添加,如下。/* * (#) Test1.java * Created Date: Sep 11, 2008 * * Copyright (c) Jiangsu Ecode Co., Ltd * * This software is the confidential and proprietary information of * Jiangsu Ecode Co., Ltd
10、. (Confidential Information). You shall not * disclose such Confidential Information and shall use it only in accordance * with the terms of the license agreement you entered into with * Jiangsu Ecode Co., Ltd. */ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共
11、18 页 - - - - - - - - - 3.3 Java Doc 注释对类、方法、变量等的注释需要符合JavaDoc 规范,对每个类、方法都应详细说明其功能、条件、参数等,并使用良好的HTML 标记格式化注释,以使生成的JavaDoc 易阅读和理解。类注释中当包含版本和作者信息,使用版本仓库的标记自动跟踪版本变化和修改记录,如下。/* *用于示例的类*authorguoqiang *version$Rev$ *$Id:Test1.java,v1.22008/09/1702:25:08cvsrootExp$ */ publicclass Test1 privatestaticfinal L
12、ogger logger= Logger.getLogger(Test1.class); /* * 一个测试的方法*param userid 用户编号*return 返回用户信息对象,若无该用户信息,则返回null */ private UserInfo getStrings(Integer userid) return userInfo; 3.4 失效代码注释由/*.*/ 界定,标准的C-Style 的注释。专用于注释已失效的代码。/*username = ; password = ; currentCar = ; logined = false; attributes = new Hash
13、Map(); attributes.put(title, hello);*/ 失效注释快捷键是Ctrl+Shift+/ ,取消注释是Ctrl+Shift+ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 18 页 - - - - - - - - - 3.5 代码细节注释由/ 界定,专用于注释代码细节,即使有多行注释也仍然使用/,以便与用 /*/ 注释的失效代码分开除了私有变量外,不推荐使用行末注释。/设置 CarBean for( int i=0; i 20; i+) /
14、首先需要生成实例CarBean bean = new CarBean(); bean.setBaseprice(11); bean.setDescription(aa); bean.setName(1111); cdao.save(bean); 3.6 注释的格式注释中的第一个句子要以(英文)句号、问号或者感叹号结束。Javadoc 生成工具会将注释中的第一个句子放在方法汇总表和索引中。为了在JavaDoc 和 IDE 中能快速链接跳转到相关联的类与方法,尽量多的使用see xxx.MyClass ,see xx.MyClass#find(String) 。Class 必须以 author 作
15、者名声明作者,不需要声明手工指定version 与date,由版本管理系统保留此信息。如果注释中有超过一个段落,用分隔。示例代码以 包裹。/ 标识 (java keyword, class/method/field/argument 名, Constants) 以包裹。标识在第一次出现时以linkxxx.Myclass注解以便 JavaDoc 与 IDE 中可以链接。3.7 注释的内容对于API 函数如果存在契约,必须写明它的前置条件(precondition) ,后置条件(postcondition) ,及不变式 (invariant) 。对于调用复杂的API 尽量提供代码示例。对于已知的B
16、ug 需要声明。在本函数中抛出的unchecked exception 尽量用 throws 说明。注释中的每一个单词都要有其不可缺少的意义,注释里不写param name -名字 无意义的内容。注释的标签必须有内容,不能存在空的param name,空的 return。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 18 页 - - - - - - - - - 3.8 Null 规约如果方法允许Null 作为参数,或者允许返回值为Null ,必须在 JavaDoc 中说
17、明。如果没有说明,方法的调用者不允许使用Null 作为参数,并认为返回值是Null Safe的。/* *paramactionEvent 买车按钮的动作事件*throwsException 一般异常*/ publicvoid buyCar(ActionEvent actionEvent) throws Exception 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 18 页 - - - - - - - - - 4 命名规范 (Naming Conventions) 规
18、范的命名能使程序更易阅读,从而更易于理解。它们也可以提供一些标识功能方面的信息,有助于更好的理解代码和应用。4.1 基本约定使用可以准确说明变量/字段 /类 /接口 /包等的完整的英文描述符。例如,采用类似firstName,listAllUsers 或 CorporateCustomer 这样的名字,严禁使用汉语拼音及不相关单词命名,虽然Java 支持 Unicode 命名,但本规范规定对包、类、接口、方法、变量、字段等不得使用汉字等进行命名。采用该领域的术语。如果用户称他们的“ 客户 ”(clients) 为“ 顾客 ” (customers) ,那么就采用术语 Customer 来命名这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年JAVA开发编码规范. 2022 JAVA 开发 编码 规范
限制150内