方法、變量與常量的命名規則

 

方法的命名規則

方法一般來說都是動詞,第一個字母應該小寫,在多個單詞混合的情況下,第一個單詞後的所有單詞的第一個字母大寫,其餘字母小寫,例如下面的代碼:

run();

runFast();

getBackground();

在方法的聲明部分,通常要提供對方法功能的描述,以及方法中返回值與參數的說明,例如下面的代碼:

/**

* 顯示系統信息方法

* @param message 系統信息參數

* @return message 返回系統信息

*/

public String showMessage (String message) {

// statements;

return message;

}

如果該方法在軟件產品的不斷升級中已經不被建議使用了,可以通過在方法聲明註釋部分添加關鍵字@deprecated實現。


變量的命名規則

變量的命名規則是,除了變量(variable),所有對象的實例(instance),類(class)與類的常量(constant)的第一個字母應該小寫,在多個單詞混合的情況下第一個單詞後的所有單詞的第一個字母大寫,其餘字母小寫的規則之外。變量的第一個字母即使系統允許,也不要爲_或者$。變量名字因該緊湊而有意義。變量的名字應該是易記憶、易於理解的,即使間隔較長的時間也可以依其名而知其意。另外單字符的變量名應該儘量避免,除非臨時變量,例如,一些整數單字符臨時變量:i,j,k,m,n等以及單字符變量:c,d,e等,如下所示的代碼:

int i;

char c;

float imageWidth;


 

常量的命名規則

Java中的常量一般採用大寫字母單詞命名,單詞與單詞之間用下劃線(_)加以分割,這符合ANSI的常量命名規則,如下所示的代碼:

static final int MIN_WIDTH = 14;

static final int MAX_WIDTH = 1000;

static final int GET_THE_MEMORY = 128;


 

常量變量注意事項

a. 用有意義的名字命名變量
首先,用完整的英語單詞或約定俗成的簡寫命名你的變量,如:
firstName
zipCode
如果英語不夠好,至少用別人看得懂的拼音命名,如
zhuZhi (住址)
胡亂簡寫,或者胡亂命名,則沒有人看得懂你的變量的含義:
fn
zc
zz

b. 常量用全大寫加下畫線命名
Java裏的常量,就是static final:
static final SMTH_BBS="bbs.tsinghua.edu.cn";

c. 用複數命名collection類變量
collection包括數組,vector等。命名時請用複數:
customers
classMates
也可以用一些修飾詞命名:
someStudents
allDepartments

d. 循環變量
一般大家都用i, j, k等做循環變量。

e. Stream變量
一般習慣用in, out作爲Stream變量,對應inputStream, outputStream
類。如果即讀又寫的ioStream,可以用inOut。

f. 變量的命名習慣
習慣MFC的人喜歡採用匈牙利命名法(Hungarian Notation)。如果你習慣這樣,儘管用,但注意要和同Project的人保持一致。還有些人習慣C++裏的下畫線方式,也可以採用。
Hungarian Notation:
sFirstName
Under Score Style:
_firstName
這裏提供一個Hungarian Notation的前綴命名習慣:
int i
byte b
char c
double d
float f
long l
offset off
length len
Object o
String s (or str)
Arbitray value v

 

Java文件格式
有許多方式定義你的文件語句格式,以下是一個例子:
a. 文件頭說明 (可無)
b. Package定義
c. 空行
d. Import語句
e. 空行
f. 類定義
如:

package com.midi;

//Java Classes
import java.awt.*;
import java.io.*;
import javax.swing.event.*;

//WebLogic Classes
import weblogic.internal.*;

/**
* Blah blah
* @author midi
* @version 22.2
*/
public class MyFirst extends JFrame {
...
}

/**
* Foo...
* @author midi
* @version 38.2
*/
class Foo {
...
}

import順序
雜亂無章的順序,看起來很不順眼。應該對你要import的classes歸類,按順序羅列:
a. Java標準類(java.*)
b. Java擴充類(javax.*)
c. 第三方類
d. 你的應用程序的類
而且注意在第三方類裏註釋它們,說明它們的來源:
import java.*;
import java.util.Date;
import java.util.Enumeration;
import javax.sql.*;

//Apache Xerces
import org.apache.xml.*;
import org.apache.xerces.dom.*;

//Application classes
import com.midi.util.*;

Classes的順序
a. Javadoc註釋或者其它文件頭註釋
b. 類聲明
c. Fields聲明
d. 空行
e. 構造函數
f. 空行
g. 方法(不包括main)
h. 空行
i. Inner類
j. 空行
k. main()
例:
/**
* This is a simple DOM tree XML parser...
* ...
* @author: midi
* @version: 0.0.1
**/
public class MyParser {
// public constants

public static final String TITLE = "MyParser";
public static final String VERSION = "0.0.1";

// Private variables
private int iSchemaVersion;

/**
* Constructor
*/
public MyParser () {
iSchemaVersion = 1;
}

/**
* Constructor
* @param...
*/
public MyParser (iSchemaVersion) {
this.iSchemaVersion = iSchemaVersion;
}

/**
* Initialize the parser...
*/
public void myInit () throws Exception {
....
}

/**
* start the application
*/
public static void main (String[] argvs) {
...
}
}

Field定義
請遵從以下順序:
a. Public常量
b. Public變量
c. Protected常量
d. Protected變量
e. Package常量
f. Package變量
g. Private常量
h. Private變量

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章