首頁>Club>
4
回覆列表
  • 1 # 大意識賊

    一個簡單的java應用程序

    public class FirstSample {

    public static void main(String[] args) {

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

    }

    }

    1

    2

    3

    4

    5

    1

    2

    3

    4

    5

    一、命名規約:

    1.代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結束。

    反例: _name __name ObjectnamenameObjectnamename Object$

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

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

    反例: DaZhePromotion [打摺] / getPingfenByName() [評分] / int 某變量 = 3

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

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

    (領域模型的相關命名)DO / BO / DTO / VO等。

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

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

    4.方法名、參數名、成員變量、局部變量都統一使用lowerCamelCase風格,必須

    遵從駝峰形式。

    正例: localValue / getHttpMessage() / inputUserId

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

    長。

    正例: MAX_STOCK_COUNT

    反例: MAX_COUNT

    6.抽象類命名使用Abstract或Base開頭;異常類命名使用Exception結尾;測試類

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

    7.中括號是數組類型的一部分,數組定義如下:String[] args;

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

    8.包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞。包名統一

    使用單數形式,但是類名如果有複數含義,類名可以使用複數形式。

    正例: 應用工具類包名為com.alibaba.open.util、類名為MessageUtils

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

    潔性,並加上有效的Javadoc注釋。盡量不要在接口裡定義變量,如果一定要定義變量,肯定是與接口方法相關,並且是整個應用的基礎常量。

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

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

    說明:JDK8中接口允許有默認實現,那麼這個default方法,是對所有實現類都有價

    值的默認實現。

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

    說明:枚舉其實就是特殊的常量類,且構造方法被默認強制是私有。

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

    二、常量定義

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

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

    cache.put(key, value);

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

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

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

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

    三、格式規約

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

    1) 左大括號前不換行。

    2) 左大括號後換行。

    3) 右大括號前換行。

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

    2.左括號和後一個字符之間不出現空格;同樣,右括號和前一個字符之間也不出現空格。

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

    4.任何運算符左右必須加一個空格。

    說明:運算符包括賦值運算符=、邏輯運算符&&、加減乘除符號、三目運行符等。

    5.縮進採用4個空格,不要使用tab字符。

    public static void main(String args[]) {

    // 縮進4個空格

    String say = "hello";

    // 運算符的左右必須有一個空格

    int flag = 0;

    // 關鍵詞if與括號之間必須有一個空格,括號內的f與左括號,0與右括號不需要空格

    if (flag == 0) {

    System.out.println(say);

    }

    // 左大括號前加空格且不換行;左大括號後換行

    if (flag == 1) {

    System.out.println("world");

    // 右大括號前換行,右大括號後有else,不用換行

    } else {

    System.out.println("ok");

    // 在右大括號後直接結束,則必須換行

    }

    }

    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.單行字符數限不超過 120 個,超出需要換行時 個,超出需要換行時 遵循如下原則:

    1) 第二行相對一縮進 4個空格,從第三行開始不再繼續縮進參考示例。

    2) 運算符與下文一起換行。

    3) 方法調用的點符號與下文一起換行。

    4) 在多個參數超長,逗號後進行換行。

    5) 在括號前不要換行,見反例。

    正例:

    StringBuffer sb = new StringBuffer();

    //超過120個字符的情況下,換行縮進4個空格,並且方法前的點符號一起換行

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

    .append(“huang”)…

    .append(“huang”)…

    .append(“huang”);

    反例:

    StringBuffer sb = new StringBuffer();

    //超過120個字符的情況下,不要在括號前換行

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

    (“huang”);

    //參數很多的方法調用可能超過120個字符,不要在逗號前換行

    method(args1, args2, args3, …

    , argsX);

    7.方法參數在定義和傳入時,多個參數逗號後邊必須加空格。

    正例:下例中實參的”a”,後邊必須要有一個空格。

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

  • 中秋節和大豐收的關聯?
  • 遼宋夏金的建立和滅亡順序?