软件开发代码规范设计(Java)

上传人:不*** 文档编号:89199384 上传时间:2019-05-21 格式:DOC 页数:15 大小:105KB
返回 下载 相关 举报
软件开发代码规范设计(Java)_第1页
第1页 / 共15页
软件开发代码规范设计(Java)_第2页
第2页 / 共15页
软件开发代码规范设计(Java)_第3页
第3页 / 共15页
软件开发代码规范设计(Java)_第4页
第4页 / 共15页
软件开发代码规范设计(Java)_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《软件开发代码规范设计(Java)》由会员分享,可在线阅读,更多相关《软件开发代码规范设计(Java)(15页珍藏版)》请在金锄头文库上搜索。

1、. 软件开发代码规范软件开发代码规范(C) (仅通普信息技术股份有限公司供内部使用仅通普信息技术股份有限公司供内部使用) 拟制:拟制: 杨超 日期:日期:2015-3-10 审核:审核: 夏峰 日期:日期:2015-3-10 核准:核准: 冯敬刚 日期:日期:2015-3-17 签发:签发: 韩殿成 日期:日期:2015-3-21 文档版本:文档版本:V1.11 黑龙江通普信息技术股份有限公司黑龙江通普信息技术股份有限公司 . 版本历史版本历史 日期日期版本版本说明说明作者作者 . 目录目录 第一章第一章 代码开发规范及其指南代码开发规范及其指南 1 1.1 目的.1 1.2 程序内命名规范.

2、1 1.3 文件命名规范.2 1.4 JAVA 文件样式2 1.5 代码编写格式.6 第二章第二章 程序编写规范方法程序编写规范方法 8 2.1 权限修饰.8 2.2 其他规范.8 2.3 编程指南.10 第三章第三章 其他要求其他要求 12 . 第一章第一章 代码开发规范代码开发规范及其指南及其指南 1.1 目的目的 定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增 加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝 对遵守,但是一定要让程序有良好的可读性) 1.2 程序内命名规范程序内命名规范 Package 的命名 :Package 的名字应该都是由一个小

3、写单词组成。 Class 的命名 :Class 的名字必须由大写字母开头而其他字母都小写的单词 组成 Class 变量变量的命名 :变量的名字必须用一个小写字母开头。后面的单词用大 写字母开头。 Static Final 变量变量的命名 :Static Final 变量的名字应该都大写,并且指出完 整含义。 参数的命名参数的命名 :参数的名字必须和变量的命名规范一致。 数组的命名数组的命名 :数组应该总是用下面的方式来命名: byte buffer; 而不是 byte buffer; 方法的参数方法的参数 :使用有意义的参数命名,如果可能的话,使用和要赋值的字 段一样的名字: SetCount

4、er(int size) this.size = size; . 1.3 文件命名规范文件命名规范 文件名由英文单词组成,每个单词的首字母大写,不要超过 4 个单词, 如 ShipOrder.jsp。 Java 文件的文件名要与程序中的 public 类名相同。 Servet 文件要以 Servlet 做为结尾,如 AddCompanyServlet.java 业务处理组件 JavaBean 要以 Bean 为结尾,如 ProcessBean.java 1.4 Java 文件样式文件样式 所有的 Java(*.java) 文件都必须遵守如下的样式规则 头部头部 版权信息 版权信息必须在 jav

5、a 文件的开头,比如: /* * Copyright 2002 Sun Microsystems, Inc. All rights reserved. */ 其他不需要出现在 javadoc 的信息也可以包含在这里。 Package/Imports package 行要在 import 行之前,import 中标准的包名要在本地的包名之前, 而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则 应该用 * 来处理。 package .stats; import java.io.*; import java.util.Observable; import hotlava

6、.util.Application; . 这里 java.io.* 使用来代替 InputStream and OutputStream 的。 Class 接下来的是类的注释,一般是用来解释类的相关信息,包括标题、描述、。 /* * Title: Example * Description: AuditApplicationExample * Copyright: Copyright (c) 200x * Company: xxxxx * author xxxxxx * version 1.0 */ 接下来是类定义,包含了在不同的行的 extends 和 implements public c

7、lass CounterSet extends Observable implements Cloneable Class Fields 接下来是类的成员变量: /* * Packet counters */ protected int packets; public 的成员变量必须生成文档(JavaDoc)。protected、private 和 package 定义的成员变量如果名字含义明确的话,可以没有注释。 存取方法存取方法 接下来是类变量的存取的方法。它只是简单的用来将类的变量赋值获取值 的话,可以简单的写在一行上。 /* * Get the counters . * return

8、an array containing the statistical data. This array has been * freshly allocated and can be modified by the caller. */ public int getPackets() return copyArray(packets, offset); public int getBytes() return copyArray(bytes, offset); public int getPackets() return packets; public void setPackets(int

9、 packets) this.packets = packets; 其它的方法不要写在一行上 构造函数构造函数 接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面)。 访问类型 (“public“, “private“ 等.) 和 任何 “static“, “final“ 或 “synchronized“ 应该 在一行中。 Public CounterSet (int size) this.size = size; 克隆方法克隆方法 如果这个类是可以被克隆的,那么下一步就是 clone 方法: public Object clone() try CounterSet obj = (

10、CounterSet)super.clone(); obj.packets = (int)packets.clone(); obj.size = size; return obj; catch(CloneNotSupportedException e) throw new InternalError(“Unexpected CloneNotSUpportedException: “ + e.getMessage(); . 类方法类方法 下面开始写类的方法: /* * Set the packet counters * (such as when restoring from a databas

11、e) */ protected final void setArray(int r1, int r2, int r3, int r4) throws IllegalArgumentException / / Ensure the arrays are of equal size / if (r1.length != r2.length | r1.length != r3.length | r1.length != r4.length) throw new IllegalArgumentException(“Arrays must be of the same size“); System.ar

12、raycopy(r1, 0, r3, 0, r1.length); System.arraycopy(r2, 0, r4, 0, r1.length); toString 方法 无论如何,每一个类都应该定义 toString 方法: public String toString() String retval = “CounterSet: “; for (int i = 0; i 0) i + ; / 错误, 和 在同一行 if (i0) i + ; / 正确, 单独作为一行 . 语句永远单独作为一行. 如果 语句应该缩进到与其相对应的 那一行相对齐的位置。 括号括号 左括号和后一个字符之间不

13、应该出现空格, 同样, 右括号和前一个字符之间 也不应该出现空格. 下面的例子说明括号和空格的错误及正确使用: CallProc( AParameter ); / 错误 CallProc(AParameter); / 正确 不要在语句中使用无意义的括号. 括号只应该为达到某种目的而出现在源代码中。 下面的例子说明错误和正确的用法: if (I) = 42) / 错误 - 括号毫无意义 if (I = 42) or (J = 42) then / 正确 - 的确需要括号 import 对于 import 语句,如果某一个包中引用的类不超过三个(包括三个),不 允许用 import xxx.*;格

14、式。 变量变量 定义及方法的返回值不允许使用全包名,如 java.lang.String,除非在不同 的包中有相同名字的类,必须用全名来区分。对于类中属性的存取要用方法 (getXXX/setXXX,boolean 值用 isXXX/setXXX),不要直接引用。 . 第二章第二章 程序编写规范方法程序编写规范方法 2.1 权限修饰权限修饰 Java 中权限修饰符有三个:public,private,protected,另外一种是不写这三种的 任何一个,称为(default). 1)对于外部类,只能用 public 或(default),而且一个文件中最多只能有一个 public 类。但是内部

15、类这四种都可以使用。 2)如果对某些数据或方法只允许其所在类使用,用 private 修饰。 3)如果对某些数据或方法允许本类或同包类使用,用(default),即不写任 何修饰符。 4)如果对某些数据或方法允许本类,同包类,或非同包子类使用,用 protected. 如果对某些数据或方法允许任何类使用,用 public 修饰。 2.2 其他规范其他规范 exit() exit 除了在 main 中可以被调用外,其他的地方不应该调用。因为这样做不 给任何代码代码机会来截获退出。一个类似后台服务的程序不应该因为某一个 库模块决定了要退出就退出。 异常异常 关键操作如涉及到数据库操作和多个关键处理

16、步骤时应当采用 try,catch 语 句,以便于捕获异常(各类 Exception)和异常处理。 垃圾收集垃圾收集 JAVA 使用成熟的后台垃圾收集技术来代替引用计数。但是这样会导致一 个问题:必须在使用完对象的实例以后进行清场工作。 . 除非输出流一出作用域就关闭,非引用计数的程序语言,比如 JAVA,是 不能自动完成变量的清场工作的。必须象下面一样写: FileOutputStream fos = new FileOutputStream(projectFile); project.save(fos, “IDE Project File“); fos.close(); Clone 下面是一种有用的方法: implements Cloneable public Object clone

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

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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