Java 編碼規範

來源:互聯網
上載者:User

標籤:java   編碼   標準   

參考Sun公司的Java編碼規範,半翻譯半理解。

  1. 使用空行分割代碼塊,並給代碼塊添加註釋;
  2. 一個檔案一個類(或者介面),將私人類放在引用該類的公用類的後面;
  3. 源檔案構成:檔案注釋、package/import、類或介面的聲明;
    1. /*
       * Class name
       * Version info
       * Copyright notice
       * Program description
       */

  4. 使用4個空格作為縮排,避免使用Tab鍵(Tab鍵還沒有統一的標準,有的是4個空格,有的是8個空格);
  5. 控制每行代碼的長度,最多80個字元;
  6. 代碼斷行時遵循以下規則:
    1. 在逗號之後斷行;
    2. 在操作符之前斷開;
    3. 使用更高的抽象層級進行斷行;
    4. 斷行時保證每行的邏輯處理層次是在同一層級的;
    5. 如果上述原則導致代碼混亂,斷行時直接將新的一行從上一行開始處的第8個空格開始;
  7. 兩大類注釋,implementation comments(/*...*/ and //) 和 documentation comments(/**...*/);四小類注釋,塊注釋(用於檔案描述、方法、資料結構及演算法 )、單行注釋、行章節附註釋和結束行注釋;
    1. 注釋用於抽象地描述代碼概要和不能直接從代碼中獲得的資訊(比如商務邏輯)。Comments should be used to give overviews of code and provide addtional information that is not readily available in the code itself.
    2. 注釋應該只包含協助閱讀及理解程式的資訊。Comments should contain only information that is relevant to reading and understanding the program.
    3. 注釋應該是獨立於代碼的具體實現的,不會因為代碼最佳化而過時。Avoid comments that are likely to get out of date as the code evlves.
    4. 添加註釋不是提高代碼可讀性的好方法,首先得使代碼本身的邏輯更加清晰。If you feel compelled to add a comment, consider rewriting the code to make it clearer.
  8. 一行一個變數或方法聲明,變數類型與變數名之間間隔一個空格;
  9. 將聲明放在儘可能前面的地方;
  10. 變數聲明時進行初始化;
  11. 類與介面聲明時遵循以下規則:
    1. 方法名和參數名開始的左括弧間沒有空格;
    2. 方法申明開始的左大括弧與方法名在同一行;
    3. 方法申明結束的右大括弧單獨一行;
    4. 方法申明之間空行;
  12. 一行一句;
  13. 使用“{...}”約束函數塊,特別是if-else
  14. return語句中避免使用方法,除非該方法的返回結果非常明確;
  15. if-else邏輯塊寫法:
    1. if (condition) {    statements;}
      if (condition) {    statements;} else {    statements;}
      if (condition) {    statements;} else if (condition) {    statements;} else if (condition) {    statements;}

  16. for邏輯塊寫法:
    1. for (initializationconditionupdate) {    statements;}

  17. while邏輯塊寫法:
    1. while (condition) {    statements;}

  18. do-while邏輯塊寫法:
    1. do {    statements;} while (condition);

  19. switch邏輯塊寫法:
    1. switch (condition) {case ABC:    statements;    /* falls through */case DEF:    statements;    break;case XYZ:    statements;    break;default:    statements;    break;}

  20. try-catch邏輯塊寫法:
    1. try {    statements;} catch (ExceptionClass e) {    statements;}

  21. 空行的使用:
    1. 使用兩個空行的地方:不同的原始碼塊之間;不同的類與介面的定義
    2. 使用一個空行的地方:不同的方法、同一方法中變數聲明與使用、在塊或者單行注釋開始前以及同一方法的不同邏輯塊之間
  22. 空格的使用:
    1. 關鍵詞與小括弧之間;
    2. 參數列表中的逗號之後;
    3. 除了"."之外的所有二元操作符;
    4. for(expr1; expr2; expr3);
    5. 強制類型轉換之後
  23. 命名規則:
    1. 類名:使用全拼單詞,除非是URL、HTML之類的;首字母大寫,其他開頭的字母也大寫;簡單具有描述性;
    2. 介面名:同類名;
    3. 方法名:動詞或者動片語;首字母小寫;其他開頭的字母大寫;
    4. 變數:單個單詞,全小寫;多個單片語合,首字母小寫;臨時變數一般使用單個字母;
    5. 常量:使用底線串連多個單詞;所有字母大寫
  24. 其他:
    1. 使用FIXME和XXX;
    2. 使用括弧將簡單邏輯運算獨立出來,如"(x >= 0) ? x : -x"和"if ((a == b) && (c == d))"
    3. 避免組合賦值,讓邏輯清晰簡單!如"a = b = c"和"if (c++ = d++) {...}"
    4. 使用常量或者變數代替直接使用數字;

Java 編碼規範

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.