熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java編程風格與命名規范整理

2013-11-23 19:21:48  來源: Java核心技術 

  基本命名規范

  包命名

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

  由一組以連接的標識符構成通常第一個標識符為符合網絡域名的兩個或者三個英文小寫字母

  People  TestPage  XMLExample

  類接口命名

  類的名字必須由大寫字母開頭而單詞中的其他字母均為小寫如果類名稱由多個單詞組成則每個單詞的首字母均應為大寫例如TestPage如果類名稱中包含單詞縮寫則這個所寫詞的每個字母均應大寫XMLExample還有一點命名技巧就是由於類是設計用來代表對象的所以在命名類時應盡量選擇名詞

  People  TestPage  XMLExample

  方法名

  方法的名字的第一個單詞應以小寫字母作為開頭後面的單詞則用大寫字母開頭可以為動詞或動詞+名詞組合

  設置/獲取某個值的Method應該遵循setV/getV規范

  返回長度的Method應該命名為length

  測試某個布爾值的Method應該命名為isV

  將對象轉換為某個特定類型的Mehod應該命名為toF

  getDate()  length()  isReady()  toOracleFormat()

  變量名

  普通變量命名應該采用首字母小寫其他字母首字母大寫的方式

  final static變量的名字應該都大寫並且指出完整含義如果一個常量名稱由多個單詞組成則應該用下劃線來分割這些單詞如

  NUM_DAYS_IN_WEEK  MAX_VALU

   如果需要對變量名進行縮寫時一定要注意整個代碼中縮寫規則的一致性

  context=ctx  message=msg

   通過在結尾處放置一個量詞就可創建更加統一的變量

  First(一組變量中的第一個)  Last(一組變量中的最後一個)  Next(一組變量中的下一個變量)  Prev(一組變量中的上一個)  Cur(一組變量中的當前變量)

   無論什麼時候均提倡應用常量取代數字固定字符串也就是說程序中除以外盡量不應該出現其他數字

   索引變量ijk等只作為小型循環的循環索引變量

   邏輯變量避免用flag來命名狀態變量用is來命名邏輯變量

  if(isClosed){  dosomeworks;  return;  }

  數組

  總是使用以下方式定義數組

  int[] arr = new int[];

  禁止使用C語言的是形式

  禁止  int arr[] = new int[];

  集合

  數組或者容器推薦命名方式為名詞+s的方式例如

  List<Person> persons = getPerson()  for(Person person : persons){  dosomeworks;  }

  泛型

  應該盡量簡明扼要(最好是一個字母)以利於與普通的class或interface區分

  Container中的Element應該用E表示Map裡的key用K表示value用VType用T表示異常用X表示

  如果需要接收多個Type類型的參數應該用鄰接T的大寫字母——例如S——來依次表示當然也可以用T T這樣的方式

  public class HashSet<E> extends AbstractSet<E> {…}   public class HashMap<K V> extends AbstractMap<K V> {…}   public class ThreadLocal<T> {…}   public interface Functor<T X extends Throwable> {       T val() throws X;   }

  推薦的命名

  當要區別接口和實現類的時候可以在類的後面加上Impl

  interface Container  class ContainerImpl

  Exception類最好能用Exception做為類命名的結尾

  DataNotFoundException  InvalidArgumentException

  抽象類最好能用Abstract做為類命名的開頭

  AbstractBeanDefinition  AbstractBeanFactory

   Test類最好能用Test做為類命名的結尾

  ContainerTest

  簡稱與縮寫(不推薦使用)

  cp代表colorPoint   buf代表buffer   off代表offset   len代表length

  除非是在循環中否則一般不推薦使用單個字母作為變量名不過也有例外即約定俗成的單個字母

  b代表byte  c代表char  d代表double  e代表Exception   f代表float  i j k代表整數   l代表long  o代表Object   s代表String   v代表某些類型的特定值

  代碼風格

  花括號

  花括號統一采用以下格式

  if(bool experssion){  dosomework;  }

  除非花括號中為空不然任何情況下不能省略花括號並且花括號必須換行例如

  if(i==){  return;  }  while(true) {}

  以下寫法禁止出現

  禁止  if(i != ) return;  禁止  if(i !=) {return;}

  括號

  括號的前後一個字符不需要空格例如

  Person p = new Person(Jack

  空格

  逗號之後緊跟一個空格

  Person p = new Person(Jack China

   二元操作符前後跟空格

  int i = a + b – c * d;

   一元操作符不需要空格for語句分號後有空格

  for(int i = ; I < ; i++){  dosomework;  }

   括號前後不需要空格

  類

  類的定義結構按照順序為

  ) 常量

  ) 成員變量

  ) 構造函數

  ) 成員函數

  ) get和set方法

  各個部分之間留出一個空行

  例如

  規范類模板

  class Person{      private final static int MAX_AGE = ;       private String firstname = Jack       public Person(){}  public Person(String firstname){      thisfirstname = firstname;  }   public void doExercise(){      dosomeworks;      run()  }  private void run(){      dosomeworks;  }   public getFirstname(){      return firstname;  }  public setFirstname(String firstname){      thisfirstname = firstname;  }  }

  構造函數

  ) 參數為空的構造函數出現在最上方

  ) 有調用關系的構造函數相鄰

  ) 參數盡量由少到多從上至下排序

  使用成員變量

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

  方法

  有調用關系的方法盡量放在相鄰的位置public和private方法可以交叉放置

  get和set方法所有需要公開的成員變量都要符合良好的javabean規范提供get和set方法盡量使用IDE工具自動生成

  Javadoc注釋

  在每個程序的最開始部分一般都用Javadoc注釋對程序的總體描述以及版權信息之後在主程序中可以為每個類接口方法字段添加 Javadoc注釋每個注釋的開頭部分先用一句話概括該類接口方法字段所完成的功能這句話應單獨占據一行以突出其概括作用在這句話後面可以跟隨更加詳細的描述段落在描述性段落之後還可以跟隨一些以Javadoc注釋標簽開頭的特殊段落例如上面例子中的@auther和@version這些段落將在生成文檔中以特定方式顯示


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26728.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.