`
Wen_JN_86
  • 浏览: 32714 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Java-代码书写规范

    博客分类:
  • java
 
阅读更多

JAVA书写规范

1. 命名
1.1 Package的名字由一个小写单词组成;
一个特有的包的名字的第一部分总是全部使用小写字母,
并应该是顶级域名中的一个,现在有com, edu, gov, mil, net, org,
或者是在ISO标准3166,1981中定义的两个字母的国家标识。
这样的规则可确定某一目录分开的组件,部门,项目,或登陆名
com.sun.eng , com.apple.quicktime.v2 ,org.apache.catalina

1.2 Class/Interface:大写字母开头而其他字母都小写;
类的名字应是名词,混合大小写,每个词的第一个字母大写。
尽量保证你的类的名字简单并是描述性的。使用完整的单词-避免
头字语和缩写(除非缩写比长的格式更广泛使用,例如URL or HTML)
class ImageSprite , interface RasterDelegate

1.3 方法应是动词,混合大小写,第一个字母小写,每个内部的词
的第一个字母大写;除了变量,所有的实例、类和类的常量都
是以小写字母开头的混和大小写。内部的词以大写字母开头。
变量名字不应以下划线或美元符$开始,尽管二者都是允许的。
run() ,runFast() , getBackground()

1.4 变量名字应简短但有意义。变量名字的选择应该是可记忆
的---就是说给普通的人指出它的使用的目的,除非是临时的。临时变
量的一般的名字对于整形变量是i,j,k,m,和n,对于字符是c,d,和e。
int i;
char c;
float myWidth;

1.5 常量:声明类常量的变量和ANSI常量的名字为下划线分开的
大写字母单词(应避免ANSI常量,除非为了调试)
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;


2. 文件
2.1 开头:注释(name,version,date,copyright),package,import;
/*
* Classname
*
* Version information
*
* Date
*
* Copyright notice
*/
package java.awt;
import java.awt.peer.CanvasPeer;

2.2 Class/Interface:JavaDoc文档注释,体(包含程序、运行和其他注释);
变量,实例,方法等:按public,protect,private排列;尽量少用public。
参见最后example


3. 缩进
3.1 避免每行多于80 个字符,逗号后或运算符前断开,
someMethod(longExpression1, longExpression2, longExpression3,
longExpression4, longExpression5);

var = someMethod1(longExpression1,
someMethod2(longExpression2,
longExpression3));

3.2 较高级的断开比较低级的断开更好,新行应与同级
上一行的开头对齐;以下是断开算术式的两个例子。
第一个较好,因为断开出现在算术式以外,处于较高一级。
longName1 = longName2 * (longName3 + longName4 - longName5)
+ 4 * longname6; // PREFER

longName1 = longName2 * (longName3 + longName4
- longName5) + 4 * longname6; // AVOID


3.3 缩排的一个单位应使用4 个空格,不使用制表符而尽量使用空格。
通常语句使用8个空格缩进,就要折行,由于传统的(4个空格)
缩进使观察程序体比较难。例如:
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) { file://BAD WRAPS
doSomethingAboutIt(); file://MAKE THIS LINE EASY TO MISS
}

file://USE THIS INDENTATION INSTEAD
if ((condition1 && condition2)
|| (condition3 && condition4)
||!(condition5 && condition6)) {
doSomethingAboutIt();
}


4. 注释,Java程序有两类注释:文档注释和执行注释。
4.1 文档注释只有java具有,/**...*/。能够被javadoc 工具生成HTML文档,
描述类,接口,构造器,方法和字段,相当于使用指南。
/**
* Class description goes here.
*
* @version 1.82 18 Mar 1999
* @author Firstname Lastname
*/

4.2 执行注释是那些在使用在C++中的/*...*/和//。目的为了理解程序和运行,
包括不适合于文档注释的内容,块状或一行,使用/*...*/,注释程序可使用//,
也可放在短行后面,尽量对齐。
/*
* @(#)Blah.java 1.82 99/03/18
*
* Copyright (c) 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.
*/

/* A class implementation comment can go here. */
// implementation comment


5. 声明declaration
5.1 每行一个声明,加以注释;
int level; // indentation level
int size; // size of table

5.2 不要在同一行放置不同的类型;
int foo, fooarray[]; file://WRONG!

5.3 只在块的开始处,放置声明;
第一次使用时再声明,增强代码的可移植性。
if (condition) {
int int2 = 0; // beginning of "if" block
...
}
for (int i = 0; i < maxLoops; i++) { ... }

5.4 方法后紧跟"(" ,"{"出现在行尾。
Sample(int i, int j) {
ivar1 = i;
ivar2 = j;
}


6. 语句
6.1 每行最多包括一个语句;
argv++; // Correct
argc--; // Correct
argv++; argc--; // AVOID!
if (condition) {
statements;
} else {
statements;
}
for (initialization; condition; update) {
statements;
}

6.2 比较重要的一个:
try {
statements;
}catch (ExceptionClass e) {
statements;
}


7. 空格
7.1 利用空行分隔代码段来提高可读性;
7.2 使用空行:类,接口,方法之间,在一个方法的本地变量和它的第一个语句间;
7.3 被一个圆括号跟着的关键字应被一个空格所分开,
例"while (true) { ",
但方法不分开。
7.4 参数列表中的逗号之后使用一个空格。
public void doSomethingElse(Object someParam, String twoParam)
7.5 二进制的操作符与数以空格分开,例"a = (a + b) / (c * d);" 。


8. 其它
8.1 避免使用一个对象来访问一个类的(静态)变量或方法。
而是使用一个类的名字;
classMethod(); file://OK
AClass.classMethod(); file://OK
anObject.classMethod(); file://AVOID!

8.2 避免分配多个变量给同样值在一个单独的语句中;
fooBar.fChar = barFoo.lchar = 'c'; // AVOID!

8.3 适当使用()和{}来分隔运算和程序。


9. 性能有关 (优化代码,调试,运行)
避免太多的使用 synchronized 关键字 ;
尽量使用 StringBuffer 对象;
尽量不要混合使用AWT 和 Swing 组件,等等。


下面是一个参考范例。
/*
* @(#)Blah.java 1.82 99/03/18
*
* Copyright (c) 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
* 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 {
/* 执行注释. */

/** classVar1 文档注释*/
public static int classVar1;

/**
* classVar2 多于一行的文档注释
* 注释
*/
private static Object classVar2;

/** instanceVar1 文档注释 */
public Object instanceVar1;

/** instanceVar2 文档注释 */
protected int instanceVar2;

/** instanceVar3 文档注释 */
private Object[] instanceVar3;

/**
* ...构造器 Blah 文档注释...
*/
public Blah() {
// ...执行注释 goes here...
}

/**
* ...方法 doSomething 文档注释...
*/
public void doSomething() {
// ...执行注释 goes here...
}

/**
* ...方法 doSomethingElse文档注释..
* @param someParam参数描述
*/
public void doSomethingElse(Object someParam) {
// ...执行注释goes here...
}

分享到:
评论

相关推荐

    JAVA的代码书写规范

    JAVA的代码书写规范,学习介绍代码规则

    Java代码书写规范

    Java代码书写规范 1 符号命名规则 符号名包括:模块名,变量名,常量名,方法(函数/子程序)名,数据区名,缓冲区名等。符号命名通常应遵循以下规则: 1.1 通用规则 (1)在所有命名中,都应使用标准的英文单词或...

    Java开发手册-代码规范

    代码风格:包括缩进、空格、换行等方面的代码风格规范,以及注释的书写规范。 异常处理:包括异常捕获和处理的规范,以及如何使用异常机制来提高代码的健壮性。 并发编程:包括多线程编程的规范,如何正确使用锁、...

    java代码书写规范

    本文提供一整套编写高效可靠的 Java 代码的标准、约定和指南。它们以安全可靠的软件工程原则为基础,使代码易于理解、维护和增强。而且,通过遵循这些程序设计标准,你作为一个 Java 软件开发者的生产效率会有显著...

    自己整理的java代码书写规范

    个人整理的一份java代码书写规范的文档,希望大家能够喜欢和指出其中的不足之处,谢谢了!

    java编码规范(命名规范 代码检查)

    java变法规范 包括命名规范 代码检查 细化到包 类 源程序等的命名方式 方法 接口名的书写规范等

    java 书写规范

    项目开发中,代码的书写规范是令人头疼的问题,怎样读懂同事的代码一直是个难题,这只能当作一种参考

    Java代码编写规范

    Java代码编写规范,让你更快记住书写规范!

    Java代码命名规范

    Java代码命名规范,养成良好的书写习惯!

    Java开发编程规范.pdf

    Java开发编程规范.pdf 讲述java编程规范,有助于规范代码书写和阅读

    JAVA代码书写规范汇总详解

    主要介绍了JAVA代码书写规范汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Neusoft公司Java编码规范

    3 书写格式规范 41 4 设计规范 44 4.1 质量测定基准(Metrics)规范 44 4.2 Class设计规范 44 4.3 Method设计规范 46 4.4 变量设计规范 47 5 Java语言规范 49 5.1 Object整体规范 49 5.2 修饰符规范 51 5.3 Javadoc...

    前端代码规范.docx

    java前端开发代码书写规范,详细介绍了前端开发过程中,代码书写的原则以及如何做到代码的规范书写,让代码更加整洁。

    Java代码编写规范.doc

    作为Java团队的Leader,这份资源文档必备,文档详细描述了Java开发编程中的规范,为团队管理使用。 文档包括:命名规范;注释;书写格式规范;编程技巧;性能;质量保证;代码编辑、编译、审查等等

    平台Java代码编程规范

    1 代码布局规则 2 2 代码书写规则 2 3 命名规则 4 声明规则 5 表达式和语句规则 6 注释规则 7 初始化和回收规则 8 异常处理规则 9 线程和同步规则 10 面向对象设计规则 11 开发EJB规则 12 其他杂项规则

    java编码规范

    本文描述了JAVA开发中的有关包、类、接口、方法、实例变量、变量和常量的命名规则,用于规范JAVA编程过程中的命名和代码书写规范。本文描述了JAVA开发中的有关包、类、接口、方法、实例变量、变量和常量的命名规则,...

Global site tag (gtag.js) - Google Analytics