和程序规范.doc_第1页
和程序规范.doc_第2页
和程序规范.doc_第3页
和程序规范.doc_第4页
和程序规范.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA编程规范文件和程序规范文档编号版 本1.0JAVA编程规范文件规范程序规范1引言本文档对Java代码的编程方式、风格做了统一规范,目的是减少编程人员代码编写中的语法错误,并通过增强代码的通读性和易懂性,使得代码修改和程序维护相对简单。本文档可用作公司新进人员的培训材料,也可用作检查代码编写质量的参考。2文件规范每个Java源文件都是由数个代码片段组成,每个代码片段之间必须由空白行和可选择的注释间隔开。每个Java源文件的代码总行数避免超过2000行。正确的Java程序格式参考标题11的“代码例程”。2.1 Java源文件每个Java源文件都由一个具有公共属性的类或接口组成。当一个私有类或接口和某个公共类相关联时,可以将该私有类或接口做为公共类的内部类写在公共类的代码文件中,并且私有类或接口必须定义成公共属性,公共类必须是类文件中的第一个类(主类)。Java源文件必须遵循以下样式规则:l 文件头注释l Package和Import声明l 类(Class)和接口(interface)定义2.1.1 文件头注释所有源文件开头必须包含有注释,内容包含类名、版本信息、文件生成日期:/* Classname* Version information* Date*/2.1.2 Package和Import声明作为第一行非注释行,package声明指明包含当前类文件的包名。在package声明之后,跟着import声明,引入类文件,例如:package java.awt;import java.awt.peer.CanvasPeer;2.1.3 类和接口定义下表描述了类和接口定义的各个部分,它们出现的先后次序必须按照表中的代码顺序,可以参考“代码例程”:代码顺序类和接口定义的各个部分备注1类或接口的文档注释(/*.*/)参考标题5.2的“文档注释”,规定了注释内容和格式2类或接口的定义语句3类或接口的代码说明 (/*.*/), 可选这里的注释内容包含任何需要对类或接口的代码做出说明,但不能放在类的文档注释部分的信息4类静态成员变量首先定义公有(public)成员变量,其次定义保护(proceted)成员变量,再次定义package 定义的成员变量,最后定义私有(private)成员变量。public的成员变量必须有注释,proceted、package和 private定义的成员变量如果名字含义明确的话,可以没有注释。5类实例成员变量首先定义公有(public)成员变量,其次定义保护(proceted)成员变量,再次定义package 定义的成员变量,最后定义私有(private)成员变量。public的成员变量必须有注释,proceted、package和 private定义的成员变量如果名字含义明确的话,可以没有注释。6类构造方法用递增的方式写(有多个构造方法时,参数多的写在后面)7类成员方法所有类的成员方法必须按功能而不是按访问属性进行归类。虽然这样会有私有方法出现在两个公有方法之间的情况,但是整个代码的易读性增强。如果main(String) 方法已经定义了, 那么它必须写在类的底部3程序规范3.1 存取实例和类变量若非必要,不要把实例或类变量的访问属性设置为公有。尽量通过方法存取实例变量。一个特例是,类仅仅作为数据结构使用,没有类方法。可以直接存取类变量。3.2 引用类的变量和方法禁止通过对象访问类的静态变量和静态方法,应当通过类名去访问。例如:classMethod(); /正确AClass.classMethod(); /正确anObject.classMethod(); /错误!3.3 常数不允许编码中直接使用数字。除非象1,0 和 1,这些需要在 for 循环中做为计算值的。3.4 变量赋值禁止在一条赋值语句里对多个变量赋值。将会造成难于理解,例如:fooBar.fChar = barFoo.lchar = c; / 错误!禁止在和等于运算符容易混淆的地方使用赋值操作。例如:if (c+ = d+) /错误! (Java 语言禁止).正确的写法是:if (c+ = d+) != 0) .禁止为了改善运行效率而使用嵌入式赋值语句。实际上这是编译器的工作。例如:d = (a = b + c) + r; /错误!正确的写法是:a = b + c;d = a + r;3.5 其它惯例3.5.1 圆括号在表达式中,用括号()显式地标明运算次序是良好的习惯,可以防止在运算优先级上产生错误。实际上有很多情况自己认为代码是清晰的,但对别人而言不加括号会引起错误的理解。同时要注意,括号的使用必须匹配。if (a = b & c = d) /错误的!if (a = b) & (c = d) /正确的3.5.2 返回值尽量使用固定格式的返回语句。象语句if ( booleanExpression) return true; else return false;应当被以下语句替换return booleanExpression;类似的,if (condition) return x;return y;应当被替换成return (condition ? x : y);3.5.3 在条件运算符?之前的表达式如果在三元运算符 ?: 的 ? 之前包含有二元表达式,则该二元表达式应当被括起来。例如:(x = 0) ? x : -x;3.5.4 特殊注释在注释里使用 XXX 表示代表某些事物。使用 FIXME 表示必须要在此处添加代码。代码例程以下例程显示如何正确格式化Java源代码文件,例程包含了一个简单类。接口的格式与此相同。更多的信息参考3.1.3的“类和接口定义”和 5.2的“文档注释”/* (#)Blah.java 1.82 99/03/18* Copyright 1994-1999 Sun Microsystems, Inc.* 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.* All Rights Reserved.* This software is the confidential and proprietary information of Sun* Microsystems, Inc. (“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 Sun.*/package java.blah;import java.blah.blahdy.BlahBlah;/* Class description goes here.* version 1.82 18 Mar 1999* author Firstname Lastname*/public class Blah extends SomeClass /* A class implementation comment can go here. */* classVar1 documentation comment */public static int classVar1;/* classVar2 documentation comment that happens to be* more than one line long*/private static Object classVar2;/* instanceVar1 documentation comment */public Object instanceVar1;/* instanceVar2 documentation comment */protected int instanceVar2;/* instanceVar3 documentation comment */private Object instanceVar3;/* . constructor Blah documentation comment.*/public Blah() / .implementation goes here./*. method doSomething documentation comment.*/public void doSomething() / .implementation goes here./* .method doS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论