偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java編程風(fēng)格與命名規(guī)范整理

開(kāi)發(fā) 后端
近期即將開(kāi)始編碼階段,特地整理一下各方面的編程規(guī)范與命名約定,以便內(nèi)部團(tuán)隊(duì)風(fēng)格統(tǒng)一。 文章大多從網(wǎng)絡(luò)上收集匯總而來(lái),參考列表附在文章末尾。

基本命名規(guī)范

包命名

包名按照域名的范圍從大到小逐步列出,恰好和Internet上的域名命名規(guī)則相反。

由一組以“.”連接的標(biāo)識(shí)符構(gòu)成,通常***個(gè)標(biāo)識(shí)符為符合網(wǎng)絡(luò)域名的兩個(gè)或者三個(gè)英文小寫(xiě)字母。

  1. People  
  2. TestPage  
  3. XMLExample 

 

類,接口命名

類的名字必須由大寫(xiě)字母開(kāi)頭而單詞中的其他字母均為小寫(xiě);如果類名稱由多個(gè)單詞組成,則每個(gè)單詞的首字母均應(yīng)為大寫(xiě)例如TestPage;如果類名稱中包含單詞縮寫(xiě),則這個(gè)所寫(xiě)詞的每個(gè)字母均應(yīng)大寫(xiě),如:XMLExample,還有一點(diǎn)命名技巧就是由于類是設(shè)計(jì)用來(lái)代表對(duì)象的,所以在命名類時(shí)應(yīng)盡量選擇名詞。

  1. People  
  2. TestPage  
  3. XMLExample 

方法名

方法的名字的***個(gè)單詞應(yīng)以小寫(xiě)字母作為開(kāi)頭,后面的單詞則用大寫(xiě)字母開(kāi)頭??梢詾閯?dòng)詞或動(dòng)詞+名詞組合。

設(shè)置/獲取某個(gè)值的Method,應(yīng)該遵循setV/getV規(guī)范

返回長(zhǎng)度的Method,應(yīng)該命名為length

測(cè)試某個(gè)布爾值的Method,應(yīng)該命名為isV

將對(duì)象轉(zhuǎn)換為某個(gè)特定類型的Mehod應(yīng)該命名為toF

  1. getDate();  
  2. length();  
  3. isReady();  
  4. toOracleFormat(); 

 

 

變量名

1.普通變量命名應(yīng)該采用首字母小寫(xiě),其他字母首字母大寫(xiě)的方式。

2.final static變量的名字應(yīng)該都大寫(xiě),并且指出完整含義。如果一個(gè)常量名稱由多個(gè)單詞組成,則應(yīng)該用下劃線來(lái)分割這些單詞如。

  1. NUM_DAYS_IN_WEEK  
  2. MAX_VALU 

3. 如果需要對(duì)變量名進(jìn)行縮寫(xiě)時(shí),一定要注意整個(gè)代碼中縮寫(xiě)規(guī)則的一致性

  1. context=ctx  
  2. message=msg 

4. 通過(guò)在結(jié)尾處放置一個(gè)量詞,就可創(chuàng)建更加統(tǒng)一的變量

  1. First(一組變量中的***個(gè))  
  2. Last(一組變量中的***一個(gè))  
  3. Next(一組變量中的下一個(gè)變量)  
  4. Prev(一組變量中的上一個(gè))  
  5. Cur(一組變量中的當(dāng)前變量) 

5. 無(wú)論什么時(shí)候,均提倡應(yīng)用常量取代數(shù)字、固定字符串。也就是說(shuō),程序中除0,1以外,盡量不應(yīng)該出現(xiàn)其他數(shù)字。

6. 索引變量:i、j、k等只作為小型循環(huán)的循環(huán)索引變量。

7. 邏輯變量:避免用flag來(lái)命名狀態(tài)變量,用is來(lái)命名邏輯變量。

  1. if(isClosed){  
  2. dosomeworks;  
  3. return;  

數(shù)組

總是使用以下方式定義數(shù)組:

  1. int[] arr = new int[10]; 

禁止使用C語(yǔ)言的是形式:

  1. 禁止  
  2. int arr[] = new int[10]; 

集合

數(shù)組或者容器推薦命名方式為名詞+s的方式,例如:

  1. List<Person> persons = getPerson();  
  2. for(Person person : persons){  
  3. dosomeworks;  

泛型

應(yīng)該盡量簡(jiǎn)明扼要(***是一個(gè)字母),以利于與普通的class或interface區(qū)分

Container中的Element應(yīng)該用E表示;Map里的key用K表示,value用V;Type用T表示;異常用X表示

如果需要接收多個(gè)Type類型的參數(shù),應(yīng)該用鄰接T的大寫(xiě)字母——例如S——來(lái)依次表示,當(dāng)然也可以用T1, T2這樣的方式

  1. public 
  2. class HashSet<E> extends AbstractSet<E> {…}  
  3.  
  4. public 
  5. class HashMap<K, V> extends AbstractMap<K, V> {…}  
  6.  
  7. public 
  8. class ThreadLocal<T> {…}  
  9.  
  10. public 
  11. interface Functor<T, X extends Throwable> {  
  12.  
  13.     T val() throws X;  
  14.  

推薦的命名

1.當(dāng)要區(qū)別接口和實(shí)現(xiàn)類的時(shí)候,可以在類的后面加上“Impl”。

  1. interface Container  
  2. class ContainerImpl 

2.Exception類***能用“Exception”做為類命名的結(jié)尾

  1. DataNotFoundException  
  2. InvalidArgumentException 

3.抽象類***能用“Abstract”做為類命名的開(kāi)頭

  1. AbstractBeanDefinition  
  2. AbstractBeanFactory 

4. Test類***能用“Test”做為類命名的結(jié)尾

  1. ContainerTest 

5.簡(jiǎn)稱與縮寫(xiě)(不推薦使用)

  1. cp代表colorPoint  
  2.  
  3. buf代表buffer  
  4.  
  5. off代表offset  
  6.  
  7. len代表length 

除非是在循環(huán)中,否則一般不推薦使用單個(gè)字母作為變量名,不過(guò)也有例外,即約定俗成的單個(gè)字母

  1. b代表byte 
  2.  
  3. c代表char 
  4.  
  5. d代表double 
  6.  
  7. e代表Exception  
  8.  
  9. f代表float 
  10.  
  11. i, j, k代表整數(shù)  
  12.  
  13. l代表long 
  14.  
  15. o代表Object  
  16.  
  17. s代表String  
  18.  
  19. v代表某些類型的特定值 

代碼風(fēng)格

花括號(hào)

花括號(hào)統(tǒng)一采用以下格式:

  1. if(bool experssion){  
  2. dosomework;  

除非花括號(hào)中為空,不然任何情況下不能省略花括號(hào),并且花括號(hào)必須換行,例如:

  1. if(i==0){  
  2. return;  
  3. }  
  4. while(true) {} 

以下寫(xiě)法禁止出現(xiàn):

  1. 禁止  
  2. if(i != 0return;  
  3. 禁止  
  4. if(i !=0) {return;} 

括號(hào)

括號(hào)的前,后一個(gè)字符不需要空格,例如:

  1. Person p = new Person(“Jack”, 17); 

空格

逗號(hào)之后緊跟一個(gè)空格。

  1. Person p = new Person(“Jack”, 16, “China”); 

2. 二元操作符前后跟空格。

  1. int i = a + b – c * d; 

3. 一元操作符不需要空格,for語(yǔ)句分號(hào)后有空格。

  1. for(int i = 0; I < 10; i++){  
  2. dosomework;  

4. 括號(hào)前后不需要空格

類的定義結(jié)構(gòu)按照順序?yàn)椋?/p>

1) 常量

2) 成員變量

3) 構(gòu)造函數(shù)

4) 成員函數(shù)

5) get和set方法

各個(gè)部分之間留出一個(gè)空行。

例如:

規(guī)范類模板:

  1.  class Person{  
  2.     private final static int MAX_AGE = 100;  
  3.  
  4.     private String firstname = “Jack”;  
  5.  
  6.     public Person(){}  
  7. public Person(String firstname){  
  8.     this.firstname = firstname;  
  9. }  
  10.  
  11. public void doExercise(){  
  12.     dosomeworks;  
  13.     run();  
  14. }  
  15. private void run(){  
  16.     dosomeworks;  
  17. }  
  18.  
  19. public getFirstname(){  
  20.     return firstname;  
  21. }  
  22. public setFirstname(String firstname){  
  23.     this.firstname = firstname;  
  24. }  

2.構(gòu)造函數(shù)

1) 參數(shù)為空的構(gòu)造函數(shù)出現(xiàn)在最上方

2) 有調(diào)用關(guān)系的構(gòu)造函數(shù)相鄰

3) 參數(shù)盡量由少到多從上至下排序

3.使用成員變量

在類的方法內(nèi)引用成員變量了命名沖突以外,不使用this。非特殊情況在類的方法內(nèi)都不使用get和set方法存取成員變量。

4.方法

有調(diào)用關(guān)系的方法盡量放在相鄰的位置,public和private方法可以交叉放置。

5.get和set方法,所有需要公開(kāi)的成員變量都要符合良好的javabean規(guī)范,提供get和set方法,盡量使用IDE工具自動(dòng)生成。

Javadoc注釋

在每個(gè)程序的最開(kāi)始部分,一般都用Javadoc注釋對(duì)程序的總體描述以及版權(quán)信息,之后在主程序中可以為每個(gè)類、接口、方法、字段添加 Javadoc注釋,每個(gè)注釋的開(kāi)頭部分先用一句話概括該類、接口、方法、字段所完成的功能,這句話應(yīng)單獨(dú)占據(jù)一行以突出其概括作用,在這句話后面可以跟隨更加詳細(xì)的描述段落。在描述性段落之后還可以跟隨一些以Javadoc注釋標(biāo)簽開(kāi)頭的特殊段落,例如上面例子中的@auther和@version,這些段落將在生成文檔中以特定方式顯示

參考文檔

  1. Java命名規(guī)范  
  2.  
  3. http://java.chinaitlab.com/base/834496.html  
  4.  
  5. Java代碼規(guī)范  
  6.  
  7. http://www.doc88.com/p-733474983375.html  
  8.  
  9. java應(yīng)用命名規(guī)范  
  10.  
  11. http://home.51.com/renjanely/diary/item/10051465.html  
  12.  
  13. 【J2SE系列】Java命名規(guī)范  
  14.  
  15. http://my.oschina.net/iblike/blog/34100\  
  16.  
  17. 開(kāi)發(fā)筆記:Java命名規(guī)范  
  18.  
  19. http://blog.donews.com/maverick/archive/2005/10/12/585459.aspx 

 

原文鏈接:http://www.cnblogs.com/coolhwm/archive/2012/03/22/2411811.html

【編輯推薦】

  1. 淺談Java中的幾種隨機(jī)數(shù)
  2. Java編程中“為了性能”盡量要做的幾點(diǎn)
  3. 告別無(wú)止境的增刪改查:Java代碼生成器
  4. CoffeeScript和Node函數(shù)式JavaScript編程
  5. 使用JNI進(jìn)行混合編程:在Java中調(diào)用C/C++本地庫(kù)
責(zé)任編輯:林師授 來(lái)源: coolhwm的博客
相關(guān)推薦

2009-08-27 16:30:08

C#編程命名規(guī)范

2009-08-03 16:57:42

ASP.NET編程規(guī)范

2009-05-22 11:01:53

C++JavaC#

2015-09-22 10:04:38

GoogleJava編程

2011-07-22 17:14:53

java

2020-04-16 21:02:35

前端命名規(guī)范html規(guī)范

2016-05-17 14:03:07

Android命名解決方案

2017-01-12 14:55:50

JavaScript編程

2023-11-22 08:00:56

Go命名規(guī)范

2012-03-20 10:09:27

JavaBean

2010-09-07 15:53:02

CSS規(guī)范化

2009-07-31 18:18:33

Camel命名法C#命名規(guī)范

2022-11-28 08:15:14

Go語(yǔ)言代碼

2022-12-05 09:32:29

Go 語(yǔ)言風(fēng)格規(guī)范

2013-07-10 11:32:57

編碼風(fēng)格

2017-02-13 13:14:07

2009-08-19 15:24:30

.NET命名規(guī)范

2009-08-21 08:52:40

C#語(yǔ)言命名

2009-08-13 13:38:30

C#命名規(guī)范

2022-08-02 07:48:06

容器鏡像版本
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)