Java命名、注釋規范


一、命名規范

  1. Package 的命名

      Package 的名字應該都是由一個小寫單詞組成。

    Class 的命名

      Class 的名字必須由大寫字母開頭而其他字母都小寫的單詞組成

    Class 變量的命名

      變量的名字必須用一個小寫字母開頭。后面的單詞用大寫字母開頭。

    Static Final 變量的命名

      Static Final 變量的名字應該都大寫,並且指出完整含義。

     

  2.  

    參數的命名

      參數的名字必須和變量的命名規范一致。

      

    數組的命名

      數組應該總是用下面的方式來命名:

      byte[] buffer;

      而不是:

      byte buffer[];

      

    方法的參數

      使用有意義的參數命名,如果可能的話,使用和要賦值的字段一樣的名字:

      SetCounter(int size){

      this.size = size;

      }

     

  3.  

    Java 文件樣式

      所有的 Java(*.java) 文件都必須遵守如下的樣式規則

      

    版權信息

      版權信息必須在 java 文件的開頭,比如:

      /**

      * Copyright ?0?3 2000 Shanghai XXX Co. Ltd.

      * All right reserved.

      */

      其他不需要出現在 javadoc 的信息也可以包含在這里。

     

  4.  

    Package/Imports

    package 行要在 import 行之前,import 中標准的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個包中的不同子目錄,則應該用 * 來處理。

      package hotlava.net.stats;

      import java.io.*;

      import java.util.Observable;

      import hotlava.util.Application;

      這里 java.io.* 使用來代替InputStream and OutputStream 的。

     

  5.  

    Class

      接下來的是類的注釋,一般是用來解釋類的。

      /**

      * A class representing a set of packet and byte counters

      * It is observable to allow it to be watched, but only

      * reports changes when the current set is complete

      */

      接下來是類定義,包含了在不同的行的 extends 和 implements

      public class CounterSet

      extends Observable

      implements Cloneable

      Class Fields

      接下來是類的成員變量:

      /**

      * Packet counters

      */

      protected int[] packets;

      public 的成員變量必須生成文檔(JavaDoc)。proceted、private和 package 定義的成員變量如果名字含義明確的話,可以沒有注釋。

     

  6.  

    存取方法

      接下來是類變量的存取的方法。它只是簡單的用來將類的變量賦值獲取值的話,可以簡單的寫在一行上。

      /**

      * Get the counters

      * @return an array containing the statistical data. This array has been

      * freshly allocated and can be modified by the caller.

      */

      public int[] getPackets() { return copyArray(packets, offset); }

      public int[] getBytes() { return copyArray(bytes, offset); }

      public int[] getPackets() { return packets; }

      public void setPackets(int[] packets) { this.packets = packets; }

      其它的方法不要寫在一行上

     

  7.  

    構造函數

      接下來是構造函數,它應該用遞增的方式寫(比如:參數多的寫在后面)。

    訪問類型 ("public", "private" 等.) 和 任何 "static", "final" 或 "synchronized" 應該在一行中,並且方法和參數另寫一行,這樣可以使方法和參數更易讀。

      public

      CounterSet(int size){

      this.size = size;

      }

      

    克隆方法

      如果這個類是可以被克隆的,那么下一步就是 clone 方法:

      public

      Object clone() {

      try {

      CounterSet obj = (CounterSet)super.clone();

      obj.packets = (int[])packets.clone();

      obj.size = size;

      return obj;

      }catch(CloneNotSupportedException e) {

      throw new InternalError("Unexpected CloneNotSUpportedException: " + e.getMessage());

      }

      }

     

  8.  

    類方法

      下面開始寫類的方法:

      /**

      * Set the packet counters

      * (such as when restoring from a database)

      */

      protected final

      void setArray(int[] r1, int[] r2, int[] r3, int[] r4)

      throws IllegalArgumentException

      {

      // Ensure the arrays www.gzlij.com are of equal size

    if (r1.length != r2.length || r1.length != r3.length || r1.length != r4.length)

      throw new IllegalArgumentException("Arrays must be of the same size");

      System.arraycopy(r1, 0, r3, 0, r1.length);

      System.arraycopy(r2, 0, r4, 0, r1.length);

      }

     

  9.  

    toString 方法

      無論如何,每一個類都應該定義 toString 方法:

      public

      String toString() {

      String retval = "CounterSet: ";

      for (int i = 0; i < data.length(); i++) {

      retval += data.bytes.toString();

      retval += data.packets.toString();

      }

      return retval;

      }

      }

      

    main 方法

      如果main(String[]) 方法已經定義了, 那么它應該寫在類的底部.

 

1、 項目名全部小寫

2、 包名全部小寫

3、 類名首字母大寫,如果類名由多個單詞組成,每個單詞的首字母都要大寫。

如:public class MyFirstClass{}

4、 變量名、方法名首字母小寫,如果名稱由多個單詞組成,每個單詞的首字母都要大寫。

如:int index=0;

       public void toString(){}

5、 常量名全部大寫

如:public static final String GAME_COLOR=”RED”;

6、所有命名規則必須遵循以下規則:

1)、名稱只能由字母、數字、下划線、$符號組成

2)、不能以數字開頭

3)、名稱不能使用JAVA中的關鍵字。

4)、堅決不允許出現中文及拼音命名。

 

二、注釋規范

1、   類注釋

在每個類前面必須加上類注釋,注釋模板如下:

/**

* Copyright (C), 2006-2010, ChengDu Lovo info. Co., Ltd.

* FileName: Test.java

* 類的詳細說明

*

* @author 類創建者姓名
    * @Date    創建日期

* @version 1.00

*/

 

2、   屬性注釋

在每個屬性前面必須加上屬性注釋,注釋模板如下:

/** 提示信息 */

private String strMsg = null;

 

3、   方法注釋

在每個方法前面必須加上方法注釋,注釋模板如下:

/**

* 類方法的詳細使用說明

*

* @param 參數1 參數1的使用說明

* @return 返回結果的說明

* @throws 異常類型.錯誤代碼 注明從此類方法中拋出異常的說明

*/

4、   構造方法注釋

在每個構造方法前面必須加上注釋,注釋模板如下:

/**

* 構造方法的詳細使用說明

*

* @param 參數1 參數1的使用說明

* @throws 異常類型.錯誤代碼 注明從此類方法中拋出異常的說明

*/

 

5、   方法內部注釋

在方法內部使用單行或者多行注釋,該注釋根據實際情況添加。

如://背景顏色

       Color bgColor = Color.RED


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM