资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Java编码规范Java编码规范11. 说明31.1 为什么要有编码规范31.2 版权声明32. 文件名(File Names)32.1 文件后缀(File Suffixes)33.1 Java源文件(Java Source Files)33.1.1 开头注释(Beginning Comments)33.1.2 包和引入(Package and Import Statements)33.1.3 类和接口声明(Class and Interface Declarations)34.1 行长度34.2 换行(Wrapping Lines)3/ CONVENTION INDENTATION4Object andStillAnother) 4| !(condition5 & condition6) 45. 注释(Comments)45.1 实现注释的格式(Implementation Comment Formats)45.1.1 块注释45.1.2 单行注释(Single-Line Comments)55.1.3 尾端注释(Trailing Comments)55.1.4 行末注释(End-Of-Line Comments)55.2 文档注释(Documentation Comments)56. 声明(Declaration)56.1 每行声明变量的数量(Number Per Line)56.2 初始化(Initialization)66.3 布局(Placement)67.1 简单语句(Single Statement)67.2 复合语句(Compound Statements)67.3 返回语句(return Statements)s67.4 if, if-else, if else-if else语句(if, if-else, if else-if else Statements)6 else 6 else if (condition) 6 else if (condition) 77.5 for语句(for Statements)77.6 while语句(while Statements)77.7 do-while语句(do-while Statements)77.8 switch语句(switch Statements)77.9 try-catch语句(try-catch Statements)7 catch (ExceptionClass e) 7 catch (ExceptionClass e) 7 finally 78. 空白(White Space)78.1 空行(Blank Lines)78.2 空格(Blank Spaces)79. 命名规范(Naming Convention)810. 编程惯例(Programming Practices)810.1 提供对实例以及类变量的访问控制(Providing Access to Instance and Class Variables)810.2 引用类变量和类方法(Referring to Class Variables and Methods)810.4 变量赋值(Variable Assignments)810.5 其它惯例(Miscellaneous Practices)910.5.1 圆括号(Parentheses)910.5.2 返回值(Returning Values)910.5.3 条件运算符“?”前的表达式(Expressions before “?” in the Conditional Operator)910.5.4 特殊注释(Special Comments)911. 代码范例(Code Examples)911.1 Java源文件范例(Java Source File Example)91. 说明1.1 为什么要有编码规范编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维护。 几乎没有任何一个软件,在其整个生命同期中,均由最初的开发人员来维护。 编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新代码。 如果你将源码作为产品发布,就需要确认它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品。为了执行规范,每个软件开发人员必须一致遵守编码规范。每个人!1.2 版权声明本文档反映的是Sun Microsystem公司,Java语言规范中的编码标准部分。主要贡献者包括:Peter King,Patrick Naughton,Mike DeMoney,Jonni Kanerva,Kathy Walrath以及Scott Hommel。本文档现由Scott Hommel维护,有关评论请发至shommeleng.sun.com。2. 文件名(File Names)这部分列出了常用的文件名及其后缀。2.1 文件后缀(File Suffixes)Java程序使用下列文件后缀:文件类别文件后缀Java源文件.javaJava字节码文件.class2.2 常用文件名(Common File Names)常用的文件名包括:文件名用途GNUmakefilemakefiles的首选文件名。我们采用gnumake来创建(build)软件。README概述特定目录下所含内容的文件的首选文件名。3. 文件组织(File Orgnization)一个文件由被空行分割而成的段落以及标识每个段落的可选注释共同组成。超过2000行的程序难以阅读,应该尽量避免。“Java源文件范例”提供了一个页面布局合理的Java程序范例。3.1 Java源文件(Java Source Files)每个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联。可以将它们和公共类放入同个源文件。公共类必须是这个文件中的第一个类和接口。Java源文件还遵循以下规则: 开头注释(参见“开头注释”) 包和引入语句(参见“包和引入语句) 类和接口声明(参见“类和接口声明)3.1.1 开头注释(Beginning Comments)所有的源文件都应该在开头有一个C语言风格的注释,其中列出数出类名、版本信息,日期和版权声明:/ * * Classname * * Version information * * Date * * Copyright notice * /3.1.2 包和引入(Package and Import Statements)在多数Java源文件中,第一个非注释行是包语句行。在它之后可以跟引入语句。例如:package java.awt;import java.awt.peer.CanvasPeer;3.1.3 类和接口声明(Class and Interface Declarations)下表描述了类和接口声明的免修部分以及它们出现的先后次序。参见“Java源文件范例”中一个包含注释的例子。类/接口声明的各部分注解1类/接口文档注释(/ * /)该注释中所包含的信息,参见“文档注释”2类/接口的声明3类/接口实现的注释(/ * /)如果有必要的话该注释应包含任何有关整个类或接口的信息,而这些信息又适合作为类/接口文档注释。4类的(静态)变量首先是类的public变量,随后是protected变量,再后是包一级别的变量(没有访问修饰符),最后是private变量。5实例变量首先是public变量,随后是protected变量,再后是包一级别的变量(没有访问修饰符),最后是private变量。6构造器7方法这些方法应该按功能,而非作用域或访问权限,分组。4. 缩进排版(Indentation)4个空格常被作为缩进排版的一个单位。缩进的确切解释并未详细指定(空格vs.制表符)。一个制表符等于8个空格(而非4个)。4.1 行长度尽量避免一行长度超过80个字符,因为很多终端和工具不能很好处理之。注意:用于文档是的例子应该使用更短的行长,长度一般不超过70个字符。4.2 换行(Wrapping Lines)当一个表达式无法容纳在一行内时,可以依据如下一般规则断开之: 在一个逗号后面断开。 在一个操作符前面断开。 宁可选择较高级别的(higher-level)的断开,而非较低级别(lower-level)的断开。 新的一行应该与上一行同一级别表达式的开头处对齐。 如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。以下是断开方法的一些例子:someMethod(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5);var = someMethod1(Expression1, someMethod2(longExpression2,longExpression3);以下是两个断开算术表达式的例子。前者更好,因为断开处位于括号表达式的外边,这是个较高级别的断开。longName1 = longName2 * (longName3 + longName4- longNeme5)+ 4 * longName6); /PREFFERlongName1 = longName2 * (longName3 + longName4- longName5) + 4 * longName6; /AVOID以下是两个缩进方法声明的例子。前者是常规情形,后者若使用常规的缩进方式将会使第二行和第三行移得很靠右,所以代这以缩进8个空格。/ CONVENTION INDENTATIONsomeMethod(int anArg, Object anotherArg,String yetAnotherArg, Object andStillAnother) / INDENT 8 SPACES TO AVOID VERY DEEP INDENTSprivate static synchronized horkingLongMethodName(int anArg,Object anotherArg, String yetAnotherArg,Object andStillAnother) if语句的换行通常使用8个空格的规则,因为常规缩进(4个空格)会使语句看起来比较费劲。比如:/DONT USE THIS INDENTATIONif (condition1 & condition2)| (condition3 & condition4)| !(condition5 & condition6) /BAD WRAPSdoSomethingAboutIt(); / MAKE THIS LING EASY
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号