Java编码规范
来源:互联网 发布:javascript网站实战 编辑:程序博客网 时间:2024/06/16 06:03
目录
1. 注释................................................................................................................................................... 1
1.1. 类注释.......................................................................................................................................................................................... 1
1.2. 方法注释...................................................................................................................................................................................... 2
1.3.变量注释...................................................................................................................................................................................... 3
1.4.其他注释...................................................................................................................................................................................... 4
1.5.块注释.......................................................................................................................................................................................... 4
2. 方法和内部类..................................................................................................................................... 6
2.1.使用顺序...................................................................................................................................................................................... 6
2.2. 变量使用及其顺序.................................................................................................................................................................... 7
2.3. 规则.............................................................................................................................................................................................. 7
3. 条件分岐............................................................................................................................................ 8
3.1.if表达式....................................................................................................................................................................................... 8
3.2.if条件判断................................................................................................................................................................................... 9
3.3.switch中的break....................................................................................................................................................................... 9
4. 循环................................................................................................................................................. 10
5. 编码................................................................................................................................................. 10
6. 缩进................................................................................................................................................. 10
7. 文件断开字符................................................................................................................................... 11
8. 警告方法.......................................................................................................................................... 11
9.一行的文字数..................................................................................................................................... 12
10.关于空白.......................................................................................................................................... 12
11.关于范围.......................................................................................................................................... 13
12import顺序.................................................................................................................................... 14
13.例外处理.......................................................................................................................................... 15
1. 注释行
1.1. 类注释行
在定义类的那一行的前面用以下形式描述
//*****************************************************************************
/**
* 处理内容
*
* @author 作者
* @version 版本,改版日,改版内容
*/
//*****************************************************************************
①处理内容
描述类的主要处理内容
②作者
描述程序作成者的名字。
③版本,改版日期、改版内容
用逗号分开描述:程序内容变更的版本、日期、改版内容。
新规作成时的版本是1.0 ,每更新一次加0.1 。
日期取编译完成时的日期。
新规作成时,在[改版内容]一栏里写上[新规作成]。
Ex) 例
//*****************************************************************************
/**
* (登陆、修正、参照、削除商品master的数据)
*
*@author csuinfosoft
*@version 1.0, 2004-9-12, 新规做成
*/
//*****************************************************************************
public class NewerFram extends Jframe implements Operations {
・
・
}
※版本升级时的例子
* @version 1.0, 2004-9-12, 新作<br>
* 1.1, 2005.01.21追加全部输出 <br>
* 1.2 2005.02.01, 追加,assertEquals(String, byte[], byte[])
1.2. 方法注释行
在定义方法的那一行的前面用以下形式描述
//***************************************************************************
/**
* 方法的处理内容
*
* @param 参数名 参数说明
* @return 返回值说明
* @exception 异常
*/
//***************************************************************************
① 方法的处理内容
方法处理概要的描述
② 参数名 参数说明
参数的变量名和变量内容
※ 有多个参数时用多行进行描述.
※ 没有参数时省略不写.
③ 返回值的说明
返回值内容
※ 返回值是特定值时(true/false等),分多行说明各值..
※ 没有返回值时省略不写.
④异常
方法抛出的异常名
※ 有多个异常时用多行进行描述.
※ 没有异常抛出时省略不写
Ex) 例
//***************************************************************************
/**
* 指定会话移动时最初得到焦点的
* 组件. 默认时为用addKaiwa()登陆的
* 组件
*
* @param argComp 输入component
* @param argKaiwaNo 会话号
*/
//***************************************************************************
public void setFirstFocus(JComponent argComp,int argKaiwaNo) {
・
・
}
//***************************************************************************
/**
* 取得数据
*
* @return true 有数据、false 没数据
* @exceptionLogicException 逻辑错误
* @exceptionFatalException FatalException Fatal错误
* @exceptionSQLException SQL错误
*/
//***************************************************************************
protected boolean getData() throwsLogicException,FatalException,SQLException {
・
・
}
1.3.变量注释行(只适用于实例变量和类变量)
在定义变量的那一行的前面用以下形式描述
/**变量的说明*/
或者
/**
*变量的说明
:
*/
① 变量的说明
② 描述变量的说明
Ex) 例
/**错误message */
publicLabel lblErrMsg = new Label();
/**
* message code。
*/
public String messageCode;
※ 类变量
定义里加了static 的变量, 即使不生成object (new class名)也可以用该变量。
※ 实例变量
定义里没加static的变量, 要生成object(new class名)才可以使用。
1.4. 普通注释行
在注释行的前面加「//」
Ex) 例
int iCount = 0;
//错误时的message
StringerrMassege = new String("ErrFfile")
1.5. 多个方法或者字段的注释
方法・内部类按照后述的描述顺序描述、各个部分的前面用以下形式描述注释行。
//***************************************************************************
//处理group的名称
//***************************************************************************
①处理group的名称
如果是描述protected方法就写成「protectedメソッド」
Ex) 例
//***************************************************************************
//protected 方法
//***************************************************************************
//***************************************************************************
/**
* 进行清除处理
*/
//***************************************************************************
protectedvoid clrData() {
・
・
}
//***************************************************************************
/**
* 取得当前代码的指定项的字符串数据。
* @paramargColName 取得argColName 数据的Column名。
* @return 从当前代码的指定项取得的字符串数据
*/
//***************************************************************************
protectedString getStrData(String argColName) {
・
・
}
2. 方法及内部类
2.1. 记述顺序
按如下顺序描述
标准1:scope
①构造函数
②get/set(boolean用is/set方法)方法群
把各个成对的连起来描述。
③public方法
按照修饰符的level顺序描述。
⑤protected方法
修饰符的描述顺序
⑥private方法
修饰符的描述顺序。
⑦ 内部类
标准2:修饰符
①static
順不同。
②final
順不同。
※有多个修饰符的情况,从修饰符多的开始描述。
Ex) 例
publicstatic final 方法
publicstatic 方法
publicfinal 方法
public方法
protected方法
2.2. 变量的描述场所和描述顺序。
按以下顺序描述
标准1:scope
①public变量
②没有修饰子的变量
③protected变量
④private变量
标准2:修饰符
①static变量
②final变量
※有多个修饰符的情况,从修饰符多的开始描述
Ex)
publicstatic final 变量
publicstatic 变量
publicfinal 变量
public变量
protected变量
※变量要在必要最小限度的scope里使用。
Ex) 例
○
:
for(int i1 = 0; i1 < MAX_COUNT; i++) {
rec[i1] = new SyohinRec;
}
×
inti1;
:
for(i1 = 0; i1 < MAX_COUNT; i++) {
rec[i1] = new SyohinRec;
}
2.3.数组的描述规则
数组是通过在变量名前加“[]”来识别的。
Ex)
○ int[ ] 变量名;
× int 变量名[ ];
3. 条件分支
3.1. if文的記述
描述if文时,不使用省略形、而是加{}进行描述。
Ex)
○
if(cnt == 1) {
fileName = "zaiko1.txt";
}else {
fileName = "zaiko2.txt";
}
×
if(cnt == 1)
fileName = "zaiko1.txt";
else
fileName = "zaiko2.txt";
i描述if文时,要在“if”和“(”之间、“)”和“{”之间添加半角空格。
Ex)
○
if(cnt == 1) {
fileName ="zaiko1.txt";
}else {
fileName = "zaiko2.txt";
}
×
if(cnt== 1){
fileName ="zaiko1.txt";
}else{
fileName = "zaiko2.txt";
}
3.2. if的条件式
if的条件式 中不使用代入式。
Ex)
○
int cnt = count.getCount();
if(cnt != 0){
if(cnt == 1) {
fileName ="zaiko1.txt";
}else {
fileName = "zaiko2.txt";
}
}
×
intcnt;
if((cnt = count.getCount()) == 1) {
fileName ="zaiko1.txt";
}else {
fileName = "zaiko2.txt";
}
3.3.switch文的break
一般的,switch文的每一个case都会描述break文,但是如果不描述break文而接着执行下一个case的処理时,为了让别人明白你不打算break就要加如下的注释。
//not break;
Ex)
switch(funcNo) {
case 4:
func4();
break;
case 3:
func3();
//not break;
case 2:
func2();
break;
case 1:
func1();
break;
:
}
4.循环
For循环・while循环・do-while循环、都和if文一样,要在“for”,“while”和“(”之间、 “)”和“{”之间加半角空格。
Ex)
for (intiCounter = 0; iCounter < 10; iCounter++) {
System.out.println("Looping");
}
5.codeblock
大括号置于在行的两端。“{”置于行末,“}”置于行首。
“{”前加半角空格。
Ex)
public voidonTPSAbort(int status) {
try {
//回滚
db.rollback();
} catch (Throwable ex) {
//回滚发生错误、异常时输出这些错误、异常内容为log.
log.ThrowableWrite(ex);
} finally {
//实例终了处理
free();
}
}
6.indent
Indent就是每次变化scope时要首行缩进2个字节。
Ex)
if (cnt == 1) {
fileName = "zaiko1.txt";
} else {
fileName = "zaiko2.txt";
}
*switch文里, case和执行文都要首行缩进.
Ex)
○
switch (cnt) {
case 1:
fileName = “zaiko1.txt”;
break;
:
}
×
switch (cnt) {
case 1:
fileName = “zaiko1.txt”;
break;
:
}
7.文件断开字符
文件断开字符以 : 用System类的 getProperty 方法能取得的「file.separator」来作为标志的.
Ex)
String fileSpt =System.getProperty("file.separator");
fileName= "txtData" + fileSpt + "zaiko" + fileSpt +"zaiko1.txt";
8.警告方法
最好不要用用Jbuilder以及JDK进行编译时或者 是在API文档里 不被推荐的方法.
9一行的字符数
一行最多为100字符,超过100字符时,考虑美观性和方便性要在适当的地方改行.改行后的代码要进行适当的缩进.
Ex)
○
publicAnkenTantoCtlModel cancelTantosha(UserInformation argUserInformation,
AnkenTantoCtlModel argAnkenTantoCtl) throws RemoteException {
publicCollection ejbFindAnkenTantoListByShokuinNo(AnkentantoEntModelargAnkentantoEnt)
throwsComponentEJBException {
×
publicAnkenTantoCtlModel cancelTantosha(UserInformation
argUserInformation, AnkenTantoCtlModel argAnkenTantoCtl) throwsRemoteException {
10.空白
在「=」的前後、「,」的后面追加一个半角空白
Ex)
○
int a = 1;
funcA(data1, data2);
×
int a=1;
funcA(data1,data2);
11. scope
不要使用没意义(不要)的scope.
Ex)
○
int funcA() {
intc = 0;
{
inta = 1;
intb = 2;
c= a + b;
}
returnc;
}
变量a,b只有在指定的scope 里是有效的,所以这个scope是有意义的。
×
int funcA() {
intc = 0;
inta = 1;
intb = 2;
{
c= a + b;
}
returnc;
}
变量a,b,c不论是在指定的scope内还是外都有效,所以这个scope没有意义.
12import文的顺序
import文的顺序如下
※相同目录的包(package)放在一起。
No
package
1
Java package
2
Javax package
3
Org package
4
系统 package
Ex)
○
importjava.io.*;
import java.util.*;
importjava.rmi.*;
import java.security.cert.*;
importjavax.ejb.*;
importjavax.rmi.*;
importjavax.naming.*;
importorg.w3c.dom.*;
importorg.xml.sax.SAXException;
importcom.newer..newsglobe.westerlise.guibean.*;
×
import java.util.*;
import javax.ejb.*;
importjava.rmi.*;
importjavax.rmi.*;
importjavax.naming.*;
importorg.w3c.dom.*;
importorg.xml.sax.SAXException;
importcom.newer.newsglobe.westerlise.guibean.*;
importjava.security.cert.*;
importjava.io.*;
13.异常的变量名
异常(Exception)的变量名基本上用「ex」表示。
Ex)
○
} catch(CertificateException ex) {
・・・
} catch (IOException ex){
・・・
}
×
} catch(CertificateException ex1) {
・・・
} catch (IOException ex2){
・・・
}
- java编码规范--命名规范
- 编码规范(二)----JAVA编码规范插件
- Java 编码规范
- java编码规范
- Java 程序编码规范
- Java 程序编码规范
- Java程序编码规范
- [收藏]Java编码规范
- Java程序编码规范
- Java程序编码规范
- Java程序编码规范
- Java语言编码规范
- Java 程序编码规范
- Java 程序编码规范
- java语言编码规范
- Java语言编码规范
- JAVA编码规范[转贴]
- Java语言编码规范
- Sonic R-Checkpoints introduced
- 抽象工厂的访问.
- 成熟的定义
- Java编码规范
- 汽车电子的一些资料
- Java编码规范
- woshimaibangde
- 系统集成与部署
- iPhone网络通讯之BSD Socket篇(手把手教你iphone开发)
- netstat 网络信息查询
- 使用LayoutInflater获取XML配置的Layout
- MFC解惑
- Android嵌入广告与发布
- Android嵌入广告与发布