技术部JAVA开发规范

上传人:我*** 文档编号:133265014 上传时间:2020-05-25 格式:PDF 页数:12 大小:361.97KB
返回 下载 相关 举报
技术部JAVA开发规范_第1页
第1页 / 共12页
技术部JAVA开发规范_第2页
第2页 / 共12页
技术部JAVA开发规范_第3页
第3页 / 共12页
技术部JAVA开发规范_第4页
第4页 / 共12页
技术部JAVA开发规范_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《技术部JAVA开发规范》由会员分享,可在线阅读,更多相关《技术部JAVA开发规范(12页珍藏版)》请在金锄头文库上搜索。

1、xxx 有限公司研发中心 软件开发规范 版本 V1 00 第 2 页 共 12 页 文件版本控制 版本版本号号状态状态类型类型修改人修改人审核人审核人日期日期描述描述 V1 0 0完结初稿 第 3 页 共 12 页 目目 录录 1 前言 4 1 1 编写目的 4 1 2 范围 4 2 Java 程序代码规范 5 2 1 命名规范 5 2 1 1 包名命名规范 5 2 1 2 文件名命名规范 5 2 1 3 方法名命名规范 5 2 1 4 常量名命名规范 6 2 1 5 变量名命名规范 6 2 2 代码规范 6 2 2 1 类引用规范 6 2 2 2 避免使用内部赋值语句 7 2 2 3 避免魔

2、法数 3 2 2 4 字符串 String 的比较 7 2 2 5 嵌套的 try 层次控制 7 2 2 6 控制 return 语句的数量 7 2 2 7 规范 SQL 语句的编写 7 3 代码注释规范 9 3 1 文件版权信息 9 3 2 类和接口的注释 9 3 3 方法的注释 9 3 4 初版代码中注释 10 3 5 新增代码中注释 11 3 6 修改代码中注释 11 3 7 XML 文件中注释 11 4 SVN 使用规范 12 第 4 页 共 12 页 1 前言 前言 1 1 编写目的编写目的 为规范项目组的应用开发 解决开发中的代码规范问题和命名规范问题 促进开发工作顺利有序地进 行

3、 特制定本开发规范手册 1 2 范围范围 适用于项目开发组所有人员 第 5 页 共 12 页 2 Java 程序代码规范程序代码规范 2 1 命名规范命名规范 2 1 1 包名命名规范包名命名规范 包名必须均为小写 包名需要使用英文说明包内代码功能 不能采用拼音 具体示例如下 以 com xxx apimanager webcom xxx apimanager web 为例 第一段 com 代表公司 org 代表组织 第二段 xxxxxx 为公司名称 xxxxxx 第三段 apimanager 为项目名称 第四段 web 为模块名称 分层 对于与各项目之间的通用包如 util 包 db 包直接

4、隶属于 xxx apimanager 包下 通用包的内的代码 必须不依赖于任何项目 可独立编译 2 1 2 文件名命名规范文件名命名规范 Java 文件名称必须以大写字母开头 可以使用 2 4 个英文单词 尽量不要用缩写 组成每个单词的首 字母大写 文件名称必须能说明文件内代码功能 对 java 文件大致分为接口 实现类 模型 静态类型声明 逻辑类 工具类 a 接口类命名 IxxxxInterFace b 实现类命名 XxxxxImpl 实现类的名称前段必须与接口一致说明是哪个接口的实现 c 模型类命名 XxxxxModel 或 XxxxxManager 模型类的名称必须与数据库表对应 d 静

5、态类型声明 XxxxxType e 逻辑类 XxxxxDAO 逻辑类为执行 sql 并返回结果的 Model 加工工厂 逻辑类返回 XxxxxModel 或 由 XxxxxModel 组成的 ArrayList List 等对象 f 工具类 如 StringUtil DateUtil 等 2 1 3 方法名命名规范方法名命名规范 基本规范如下 a 方法名应该能够简单描述出该方法实现的功能 如 deleteUsers 第 6 页 共 12 页 b 方法名尽量不使用缩写 除非它是众所周知众所周知的 如可以使用 db 表示 database c 方法名可以有两个或三个单词组成 但尽量尽量不要多于三个

6、以上 d 方法名中由多个单词合成 第一个单词通常为动词 首字母小写 中间的每个单词的首字母都要 大写 如删除用户 deleteUsers e 方法名中不要使用下划线字符 2 1 4 常量名命名规范常量名命名规范 常量名也应当有一定的意义 常量名均为大写 如果是由多个单词构成 可以用下划线隔开 如果是 对象类型的常量 则是大小写混合 由大写字母把单词隔开 如 private const int PI 3 1415926 int YEAR String TITLE XXXX intWEEK OF MONTH 2 1 5 变量名命名规范变量名命名规范 在程序中变量的名称要求能够体现出就是的功能 如果

7、是单个单词那么变量名用小写 例如 email 如果变量名是多个单词组成那么首字母小写 中间的每个单词的首字母都要大写 例如 isSuperUser userLogin 为了和普通变量区别 如果变量是参数 那么应在变量前加 P 例如 P UserPassword 如果是循环变量 那么变量名必须是一个小写字母 如 i j k 变量名也尽量不使用缩写 且一定要有含义 不能使用没有表达意义的变量名 如 a1 a2 mmm 2 2 代码规范代码规范 2 2 1 类引用规范类引用规范 import 时使用星号 会消耗更多的应用资源 因此要避免使用避免使用 在当前类如果引用其它类的方法 那么就明确的 imp

8、ort 该方法所属的类文件 此外要避免 import 的类没有被使用或者重复 第 7 页 共 12 页 2 2 2 避免使用避免使用内部赋值语句内部赋值语句 不允许这种书写方式 String s Integer toString i 2 2 2 3 避免避免魔法数魔法数 也叫 MagicNumber 会让程序不可读 说明 所谓魔法数值 是指在代码中直接出现的数值 而只有在这个数值记述的那部分代码中才能明 确了解其含义 魔法数值使代码的可读性大大下降 而且 如果同样的数值多次出现时 到底这些数值是不是带有同 样的含义呢 谁也说不清楚 另一方面 如果本来应该使用相同数值的地方 一旦用错了 也很难发

9、现 因此 需要注意以下几点 极力避免使用魔法数值 比如 sex 0 表示的什么意思 所以 这里的 0 就是一个魔法数 建议改用下面的书写方式 public static final int MALE 0 sex MALE 这样我们就知道 原来是把 sex 变量的值初始化为 男性 2 2 4 字符串字符串 String 的比较的比较 检查字符串的比较时没有使用 或 正确的写法应该是使用 equals 方法 字符串在前 变量在后 避免空指针异常 如 if something equals x 2 2 5 嵌套的嵌套的 try 层次层次控制控制 避免 try catch 的嵌套的层次过多而降低代码可

10、读性 建议最大的嵌套深度不超过 3 层 2 2 6 控制控制 return 语句的数量语句的数量 如果 return 语句太多 说明某个方法需要实现的功能太多 而且很难阅读 这个时候就需要重构 建 议每个方法最多有 5 个 return 语句 2 2 7 规范规范 SQL 语句的编写语句的编写 如果需要编写 SQL 语句 则当编写的 SQL 语句过长时 需要对 SQL 语句字符串进行拆分 并且每 行字符串前端需要有一空格 普通代码也要相似处理 尽量不需要拖动滚动条而显示完整代码 例子如下 实现XXXXXXXX能的SQL语句 String loanTypeSql select count lpj

11、 ID from LY DAIKUANG PJ lpj 第 8 页 共 12 页 left join LY DAIKUANG TOUPIAO ltp on ltp id lpj FLD TOUPIAO ID where lpj PLD TW OBJ is null or trim lpj PLD TW OBJ and lpj PLD QK is null or trim lpj PLD QK and ltp FLD SHENYIDAN ID 0 第 9 页 共 12 页 3 代码注释规范 代码注释规范 以下注释是以 java 程序为例 C 的代码注释符号和 java 略有不同 但需要表达的内容

12、完全一样 3 1 文件版权信息文件版权信息 版权信息必须在 java 文件的开头 示例如下 Copyright 2011 xxx公司 xxxx项目组 All right reserved 3 2 类和接口的注释类和接口的注释 Name XXXXXXX 类名 Description XXXXXXX 描述 Version V1 0 0 版本号 Author 张三 Create Date 2011 06 25 3 3 方法的注释方法的注释 Name XXXXXXX 方法的名称 Description XXXXXXX 方法的描述 Author 张三 作者 Create Date 2011 06 25

13、创建日期 Parameters String P CompanyName 方法的入参 如果没有 填写为 无 Return ArrayList UsersList 返回值 如果没有 填写为 无 第 10 页 共 12 页 版本号 设定版本号为 4 位 格式为 Major Number Minor Number Revision Number Build Number 例如 V 1 0 0 1 项目初版时 版本号为 1 0 0 1 当项目在进行了局部修改或 bug 修正时 Major Number和Minor Number都不变 Revision Number 加 1 即 bug 修正版本符 当项

14、目在原有的基础上增加了部分功能时 Major Number 不变 Minor Number 加 1 Revision Number 复位为 0 即需求没有发生变化 仅仅是详细设计上有所调整 增删改细节性功能版本符 当项目在进行了重大修改或局部修正累积较多 而导致项目整体发生全局变化时 Major Number 加 1 即需求异动 版本符 Build Number 由内部控制 编译时自行判断是否需要加 1 即开发发布版本符 记录 Major Number 和 Minor Number 和 Revision Number 都不变的情况下 发布的次 数 发布原因 本次发布是基于什么条件发布的 例如

15、Bug 管理系统上的所有 bug 都已经修改完成 详细说明 每次发布的版本对应修改了那些 BUG 列出 BUG 编号 可以依据这些 bug 编号可以在 BUG 管理系统中查询到详细的 bug 信息 a 3 4 初版代码中注释初版代码中注释 初版代码中使用的注释方法如下 数据库驱动 String CLASSFORNAME oracle jdbc driver OracleDriver 第 11 页 共 12 页 数据库服务器及数据库名称 String SERVANDDB jdbc microsoft sqlserver 127 0 0 1 1433 DatabaseName Book 添加注释时

16、要有几点注意 a 确保所有的代码注释都是单独的一行 而不是与代码同行 b 注释全部采用中文 要能明确表达出被注释的代码所实现的功能 c 注释不宜过长和换行 通俗易懂的代码无需注释 在变量声明 条件处理 if else 循环语 句 标识位使用 如整型变量 flag 0 1 2 等分别表示什么 的时候必须添加注释 3 5 新增代码中注释新增代码中注释 当在已经发布版本的代码中增加新的代码 则以如下方式添加注释 20110625 张三 新增 功能 声明数据库驱动 BEGIN String CLASSFORNAME oracle jdbc driver OracleDriver 20110625 张三 新增 END 3 6 修改代码中注释修改代码中注释 当在已经发布版本的代码中修改代码 需要把原代码注释掉之后 再添加说明 如下 20110625 张三 修改 修改原因 重新声明数据库驱动 BEGIN String CLASSFORNAME com microsoft jdbc sqlserver SQLServerDriver String CLASSFORNAME oracle jdbc

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号