您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java命名規范有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
基本命名規范
包命名
包名按照域名的范圍從大到小逐步列出,恰好和Internet上的域名命名規則相反。
由一組以“.”連接的標識符構成,通常***個標識符為符合網絡域名的兩個或者三個英文小寫字母。
People TestPage XMLExample
類,接口命名
類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫;如果類名稱由多個單詞組成,則每個單詞的首字母均應為大寫例如TestPage;如果類名稱中包含單詞縮寫,則這個所寫詞的每個字母均應大寫,如:XMLExample,還有一點命名技巧就是由于類是設計用來代表對象的,所以在命名類時應盡量選擇名詞。
People TestPage XMLExample
方法名
方法的名字的***個單詞應以小寫字母作為開頭,后面的單詞則用大寫字母開頭。可以為動詞或動詞+名詞組合。
設置/獲取某個值的Method,應該遵循setV/getV規范
返回長度的Method,應該命名為length
測試某個布爾值的Method,應該命名為isV
將對象轉換為某個特定類型的Mehod應該命名為toF
getDate(); length(); isReady(); toOracleFormat();
變量名
1.普通變量命名應該采用首字母小寫,其他字母首字母大寫的方式。
2.final static變量的名字應該都大寫,并且指出完整含義。如果一個常量名稱由多個單詞組成,則應該用下劃線來分割這些單詞如。
NUM_DAYS_IN_WEEK MAX_VALU
3. 如果需要對變量名進行縮寫時,一定要注意整個代碼中縮寫規則的一致性
context=ctx message=msg
4. 通過在結尾處放置一個量詞,就可創建更加統一的變量
First(一組變量中的***個) Last(一組變量中的***一個) Next(一組變量中的下一個變量) Prev(一組變量中的上一個) Cur(一組變量中的當前變量)
5. 無論什么時候,均提倡應用常量取代數字、固定字符串。也就是說,程序中除0,1以外,盡量不應該出現其他數字。
6. 索引變量:i、j、k等只作為小型循環的循環索引變量。
7. 邏輯變量:避免用flag來命名狀態變量,用is來命名邏輯變量。
if(isClosed){ dosomeworks; return; }
數組
總是使用以下方式定義數組:
int[] arr = new int[10];
禁止使用C語言的是形式:
禁止 int arr[] = new int[10];
集合
數組或者容器推薦命名方式為名詞+s的方式,例如:
List<Person> persons = getPerson(); for(Person person : persons){ dosomeworks; }
泛型
應該盡量簡明扼要(***是一個字母),以利于與普通的class或interface區分
Container中的Element應該用E表示;Map里的key用K表示,value用V;Type用T表示;異常用X表示
如果需要接收多個Type類型的參數,應該用鄰接T的大寫字母——例如S——來依次表示,當然也可以用T1, T2這樣的方式
public class HashSet<E> extends AbstractSet<E> {…} public class HashMap<K, V> extends AbstractMap<K, V> {…} public class ThreadLocal<T> {…} public interface Functor<T, X extends Throwable> { T val() throws X; }
推薦的命名
1.當要區別接口和實現類的時候,可以在類的后面加上“Impl”。
interface Container class ContainerImpl
2.Exception類***能用“Exception”做為類命名的結尾
DataNotFoundException InvalidArgumentException
3.抽象類***能用“Abstract”做為類命名的開頭
AbstractBeanDefinition AbstractBeanFactory
4. Test類***能用“Test”做為類命名的結尾
ContainerTest
5.簡稱與縮寫(不推薦使用)
cp代表colorPoint buf代表buffer off代表offset len代表length
除非是在循環中,否則一般不推薦使用單個字母作為變量名,不過也有例外,即約定俗成的單個字母
b代表byte c代表char d代表double e代表Exception f代表float i, j, k代表整數 l代表long o代表Object s代表String v代表某些類型的特定值
代碼風格
花括號
花括號統一采用以下格式:
if(bool experssion){ dosomework; }
除非花括號中為空,不然任何情況下不能省略花括號,并且花括號必須換行,例如:
if(i==0){ return; } while(true) {}
以下寫法禁止出現:
禁止 if(i != 0) return; 禁止 if(i !=0) {return;}
括號
括號的前,后一個字符不需要空格,例如:
Person p = new Person(“Jack”, 17);
空格
逗號之后緊跟一個空格。
Person p = new Person(“Jack”, 16, “China”);
2. 二元操作符前后跟空格。
int i = a + b – c * d;
3. 一元操作符不需要空格,for語句分號后有空格。
for(int i = 0; I < 10; i++){ dosomework; }
4. 括號前后不需要空格
類
類的定義結構按照順序為:
1) 常量
2) 成員變量
3) 構造函數
4) 成員函數
5) get和set方法
各個部分之間留出一個空行。
例如:
規范類模板:
class Person{ private final static int MAX_AGE = 100; private String firstname = “Jack”; public Person(){} public Person(String firstname){ this.firstname = firstname; } public void doExercise(){ dosomeworks; run(); } private void run(){ dosomeworks; } public getFirstname(){ return firstname; } public setFirstname(String firstname){ this.firstname = firstname; } }
2.構造函數
1) 參數為空的構造函數出現在最上方
2) 有調用關系的構造函數相鄰
3) 參數盡量由少到多從上至下排序
3.使用成員變量
在類的方法內引用成員變量了命名沖突以外,不使用this。非特殊情況在類的方法內都不使用get和set方法存取成員變量。
4.方法
有調用關系的方法盡量放在相鄰的位置,public和private方法可以交叉放置。
5.get和set方法,所有需要公開的成員變量都要符合良好的javabean規范,提供get和set方法,盡量使用IDE工具自動生成。
Javadoc注釋
在每個程序的最開始部分,一般都用Javadoc注釋對程序的總體描述以及版權信息,之后在主程序中可以為每個類、接口、方法、字段添加 Javadoc注釋,每個注釋的開頭部分先用一句話概括該類、接口、方法、字段所完成的功能,這句話應單獨占據一行以突出其概括作用,在這句話后面可以跟隨更加詳細的描述段落。在描述性段落之后還可以跟隨一些以Javadoc注釋標簽開頭的特殊段落,例如上面例子中的@auther和@version,這些段落將在生成文檔中以特定方式顯示
關于Java命名規范有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。