欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jdk版本命名規(guī)則

jdk版本命名規(guī)則?

一個(gè)簡單的java應(yīng)用程序

public class FirstSample {

public static void main(String[] args) {

System.out.println("Hello,World");

}

}

1

2

3

4

5

1

2

3

4

5

一、命名規(guī)約:

1.代碼中的命名均不能以下劃線或美元符號(hào)開始,也不能以下劃線或美元符號(hào)結(jié)束。

反例: _name __name ObjectnamenameObjectnamename Object$

2.代碼中的命名嚴(yán)禁使用拼音與英文混合的方式,不允許直接使用中文。

注意,即使純拼音命名方式也要避免采用。

反例: DaZhePromotion [打折] / getPingfenByName() [評(píng)分] / int 某變量 = 3

正例: alibaba / taobao / youku / hangzhou 等國際通用的名稱,可視同英文。

3.類名使用UpperCamelCase風(fēng)格,必須遵從駝峰形式,但以下情形例外:

(領(lǐng)域模型的相關(guān)命名)DO / BO / DTO / VO等。

正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion

反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion

4.方法名、參數(shù)名、成員變量、局部變量都統(tǒng)一使用lowerCamelCase風(fēng)格,必須

遵從駝峰形式。

正例: localValue / getHttpMessage() / inputUserId

常量命名全部大寫,單詞間用下劃線隔開,力求語義表達(dá)完整清楚,不要嫌名字

長。

正例: MAX_STOCK_COUNT

反例: MAX_COUNT

6.抽象類命名使用abstract或Base開頭;異常類命名使用Exception結(jié)尾;測試類

命名以它要測試的類的名稱開始,以Test結(jié)尾。

7.中括號(hào)是數(shù)組類型的一部分,數(shù)組定義如下:String[] args;

反例:請勿使用String args[]的方式來定義。

8.包名統(tǒng)一使用小寫,點(diǎn)分隔符之間有且僅有一個(gè)自然語義的英語單詞。包名統(tǒng)一

使用單數(shù)形式,但是類名如果有復(fù)數(shù)含義,類名可以使用復(fù)數(shù)形式。

正例: 應(yīng)用工具類包名為com.alibaba.open.util、類名為MessageUtils

9.接口類中的方法和屬性不要加任何修飾符號(hào)(public 也不要加),保持代碼的簡

潔性,并加上有效的Javadoc注釋。盡量不要在接口里定義變量,如果一定要定義變量,肯定是與接口方法相關(guān),并且是整個(gè)應(yīng)用的基礎(chǔ)常量。

正例:接口方法簽名:void f(); 接口基礎(chǔ)常量表示:String COMPANY = “alibaba”;

反例:接口方法定義:public abstract void f();

說明:JDK8中接口允許有默認(rèn)實(shí)現(xiàn),那么這個(gè)default方法,是對(duì)所有實(shí)現(xiàn)類都有價(jià)

值的默認(rèn)實(shí)現(xiàn)。

10.枚舉類名建議帶上Enum后綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。

說明:枚舉其實(shí)就是特殊的常量類,且構(gòu)造方法被默認(rèn)強(qiáng)制是私有。

正例:枚舉名字:DealStatusEnum,成員名稱:SUCCESS / UNKOWN_REASON。

二、常量定義

1.不允許出現(xiàn)任何魔法值(即未經(jīng)定義的常量)直接出現(xiàn)在代碼中。

反例: String key=”Id#taobao_”+tradeId;

cache.put(key, value);

2.long或者Long初始賦值時(shí),必須使用大寫的L,不能是小寫的l,小寫容易跟數(shù)字1混淆,造成誤解。

說明:Long a = 2l; 寫的是數(shù)字的21,還是Long型的2?

3.如果變量值僅在一個(gè)范圍內(nèi)變化用Enum類。如果還帶有名稱之外的延伸屬性,必須使用Enum類,下面正例中的數(shù)字就是延伸信息,表示星期幾。

正例:public Enum{ MONDAY(1), TUESDAY(2), WEDNESDAY(3), THURSDAY(4), FRIDAY(5), SATURDAY(6), SUNDAY(7);}

三、格式規(guī)約

1.大括號(hào)的使用約定。如果是大括號(hào)內(nèi)為空,則簡潔地寫成{}即可,不需要換行;如果是非空代碼塊則:

1) 左大括號(hào)前不換行。

2) 左大括號(hào)后換行。

3) 右大括號(hào)前換行。

4) 右大括號(hào)后還有else等代碼則不換行;表示終止右大括號(hào)后必須換行。

2.左括號(hào)和后一個(gè)字符之間不出現(xiàn)空格;同樣,右括號(hào)和前一個(gè)字符之間也不出現(xiàn)空格。

3.if/for/while/switch/do等保留字與左右括號(hào)之間都必須加空格。

4.任何運(yùn)算符左右必須加一個(gè)空格。

說明:運(yùn)算符包括賦值運(yùn)算符=、邏輯運(yùn)算符&&、加減乘除符號(hào)、三目運(yùn)行符等。

5.縮進(jìn)采用4個(gè)空格,不要使用tab字符。

public static void main(String args[]) {

// 縮進(jìn)4個(gè)空格

String say = "hello";

// 運(yùn)算符的左右必須有一個(gè)空格

int flag = 0;

// 關(guān)鍵詞if與括號(hào)之間必須有一個(gè)空格,括號(hào)內(nèi)的f與左括號(hào),0與右括號(hào)不需要空格

if (flag == 0) {

System.out.println(say);

}

// 左大括號(hào)前加空格且不換行;左大括號(hào)后換行

if (flag == 1) {

System.out.println("world");

// 右大括號(hào)前換行,右大括號(hào)后有else,不用換行

} else {

System.out.println("ok");

// 在右大括號(hào)后直接結(jié)束,則必須換行

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

6.單行字符數(shù)限不超過 120 個(gè),超出需要換行時(shí) 個(gè),超出需要換行時(shí) 遵循如下原則:

1) 第二行相對(duì)一縮進(jìn) 4個(gè)空格,從第三行開始不再繼續(xù)縮進(jìn)參考示例。

2) 運(yùn)算符與下文一起換行。

3) 方法調(diào)用的點(diǎn)符號(hào)與下文一起換行。

4) 在多個(gè)參數(shù)超長,逗號(hào)后進(jìn)行換行。

5) 在括號(hào)前不要換行,見反例。

正例:

StringBuffer sb = new StringBuffer();

//超過120個(gè)字符的情況下,換行縮進(jìn)4個(gè)空格,并且方法前的點(diǎn)符號(hào)一起換行

sb.append(“zi”).append(“xin”)…

.append(“huang”)…

.append(“huang”)…

.append(“huang”);

反例:

StringBuffer sb = new StringBuffer();

//超過120個(gè)字符的情況下,不要在括號(hào)前換行

sb.append(“zi”).append(“xin”)…append

(“huang”);

//參數(shù)很多的方法調(diào)用可能超過120個(gè)字符,不要在逗號(hào)前換行

method(args1, args2, args3, …

, argsX);

7.方法參數(shù)在定義和傳入時(shí),多個(gè)參數(shù)逗號(hào)后邊必須加空格。

正例:下例中實(shí)參的”a”,后邊必須要有一個(gè)空格。

method(“a”, “b”, “c”)

java包名,jdk版本命名規(guī)則