更新時間:2022-07-05 11:35:12 來源:動力節點 瀏覽1334次
Java組件開發也是有規范的,動力節點小編先給大家介紹一下Java開發編碼規范。
Java 命名約定。
采用適用于相關領域的術語
采用大小寫混合使名字可讀
盡量少用縮寫,但如果用了,要明智地使用,且在整個工程中統一
避免使用長的名字(一般小于15個字母)
避免使用類似的名字,或者僅僅是大小寫不同的名字
避免使用下劃線(除靜態常量等)
包(Package)
Java包(Package)采用完整的英文描述符,應該都是由小寫字母組成。對于全局包,將你的 Internet 域名反轉并接上包名。 例如:java.awt,com.ambysoft.www.persistence
類(Class)
采用完整的英文描述符,所有單詞的第一個字母大寫(一些專有的縮寫詞,比如:AWTException等則除外)。Class的名字建議使用名詞或者名詞短語。 例如:Customer, SavingsAccount,LayoutManager等
接口(Interface)
接口的名字取決于接口的主要功能和用途。如果接口是使對象具有某種特定的功能,則接口的名字建議使用可以描述這種功能的形容詞(加上-able或者-ible后綴)
例如:Searchable,Sortable,NetworkAccessible等
如果接口不是使對象具有某種特定的功能則建議使用名詞或者名詞短語(同類的命名規則)。
組件/部件(Component)
使用完整的英文描述來說明組件的用途,末端應接上組件類型。 okButton,customerList,fileMenu
異常(Exception)
通常采用字母 e 表示異常。
類變量 字段
采用完整的英文描述,第一個字母小寫,任何中間單詞的首字母大寫。 firstName, lastName
靜態常量字段(static final)
全部采用大寫字母,單詞之間用下劃線分隔。 MIN_BALANCE, DEFAULT_DATE
方法
方法命名采用大小寫混合的形式。以小寫字母開頭,名字中其他單詞的首字母以大寫字母開頭,所有其它的單詞都為小寫字母,不要使用下劃線分隔單詞。方法的命名應該能描繪出方法的作用和功能,方法的名字建議使用祈使動詞或者動詞短語。
例如:showStatus(),drawCircle(),addLayoutComponent()
成員函數
被訪問字段名的前面加上前綴 get。 getFirstName(), getLastName()
布爾型的獲取成員函數 所有的布爾型獲取函數必須用單詞 is 做前綴。 isPersistent(), isString() ;設置成員函數 被訪問字段名的前面加上前綴 set。 setFirstName(),setLastName(),setWarpSpeed()
空行規范
空行的使用有益于將代碼按照邏輯分段,提高代碼的可讀性。在下列情況下建議使用一個空行:
l 在版權聲明塊、包聲明塊、引用聲明塊之后;
l 在類的聲明之間;
l 在方法的聲明之間;
l 在類中聲明最后一個屬性之后,聲明第一個方法之前。
空格規范
在一個關鍵字和它所修飾的塊之間??捎糜谌缦碌年P鍵字:catch,for,if,switch,synchronized,while。下列關鍵字的后面不要跟隨空格:super ,this 。
在一個參數列表中逗號之后。
空格不應該置于方法名與其左括號之間
左括號和后一個字符之間不應該出現空格
右括號和前一個字符之間也不應該出現空格
例如:
public setMethod(int i, String j)
縮進規范
行的縮進要求是四個空格。由于在使用不同的源代碼管理工具時Tab字符將因為用戶設置的不同而擴展為不同的寬度,所以請不要使用Tab鍵。建議修改各管理工具的設置將Tab字符擴展成4個空格。
通常采用字母 i,j,k 或者 counter 都可以接受。 i, j, k, counter
1. Java 注釋約定一個很好的可遵循的有關注釋的經驗法則是:問問你自己,你如果從未見過這段代碼,要在合理的時間內有效地明白這段代碼,你需要哪些信息。
(1)一般概念
注釋應該增加代碼的清晰度
保持注釋的簡潔
在寫代碼之前寫注釋(建議)
對于復雜點的邏輯,注釋出為什么做了一些事,而不僅僅是做了什么
(2)示范
文檔注釋 在緊靠接口、類、成員函數和字段聲明的前面注釋它們。
單行 在成員函數內采用單行注釋,來說明業務邏輯、代碼段和暫時變量的聲明。注釋符"//"后必須緊跟一個空格,然后才是注釋信息。
(3)注釋哪些部分
類類的目的、即類所完成的功能,注釋出采用的不變量。
接口設置接口的目的、它應如何被使用以及如何不被使用。
成員函數注釋 對于設置與獲取成員函數,在成員變量已有說明的情況下,可以不加注釋;普通成員函數要求說明完成什么功能,參數含義是什么返回什么;
普通成員函數內部注釋 控制結構,代碼做了些什么以及為什么這樣做,處理順序等。
實參/參數 參數含義、及其它任何約束或前提條件
字段/屬性 字段描述
局部變量 無特別意義的情況下不加注釋
2. Java 文件樣式約定所有的 Java(*.java) 文件都必須遵守如下的樣式規則:
(1)版權信息
版權信息必須在 java 文件的開頭,比如:
/** * Copyright ? 2000 Shanghai XXX Co. Ltd. * All right reserved. */
其他不需要出現在 javadoc 的信息也可以包含在這里。
(2)Package/Imports
package 行要在 import 行之前,import 中標準的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個包中的不同子目錄,則應該用 * 來處理。(如果有特殊要求,可以不采用*來處理,有時候那樣更加明確使用了那些類)
package hotlava.net.stats;import java.io.*;import java.util.Observable;importhotlava.util.Application;
這里 java.io.* 是用來代替InputStream andOutputStream 的。
(3)Class
接下來的是類的注釋,一般是用來解釋類的。
接下來是類定義,包含了在不同的行的 extends 和 implements
public class CounterSet extends Observable implements Cloneable{……}
(4)Class Fields
接下來是類的成員變量:
public 的成員變量必須生成文檔(JavaDoc)。
proceted、private和 package 定義的成員變量如果名字含義明確的話,可以沒有注釋。(建議都加注釋,以便更明確,一目了然)
(5)存取方法(類的設置與獲取成員函數)
接下來是類變量的存取的方法。
(6)構造函數
接下來是構造函數,它應該用遞增的方式寫(比如:參數多的寫在后面)。
public CounterSet(int size){
this.size = size;
}
(7)類方法 (類的普通成員函數)
下面開始寫類的方法:
(8)toString 方法
一般情況下,每一個類都應該定義 toString 方法:
public String toString() { ……}
(9)main 方法
普通類,考慮置入一個main()方法,其中包含用于測試那個類的代碼,如果包含了main() 方法, 那么它應該寫在類的底部。
3. Java編碼其它約定
文檔化 必須用 javadoc 來為類生成文檔。不僅因為它是標準,這也是被各種 java 編譯器都認可的方法。
縮進
縮進應該是每行2個(或4個)空格。 盡量不要在源文件中保存Tab字符, 在使用不同的源代碼管理工具時Tab字符將因為用戶設置的不同而擴展為不同的寬度。
如果你使用 UltrEdit 作為你的 Java 源代碼編輯器的話,你可以通過如下操作來禁止保存Tab字符, 方法是通過 UltrEdit中先設定 Tab 使用的長度室2個空格,然后用 Format|Tabs toSpaces 菜單將 Tab 轉換為空格。
頁寬 換行
頁寬應該設置為80字符。 源代碼一般不會超過這個寬度, 并導致無法完整顯示, 但這一設置也可以靈活調整。 在任何情況下, 一條語句折行后, 應該比原來的語句再縮進2個字符。
可以依據如下一般規則斷開:
在一個逗號后面斷開
在一個操作符前面斷開
寧可選擇較高級別(higher-level)的斷開,而非較低級別(lower-level)的斷開
新的一行應該與上一行同一級別表達式的開頭處對齊
如果以上規則導致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進8個空格。
{} 對
{} 中的語句應該單獨作為一行。
例如, 下面的第1行是錯誤的, 第2行是正確的:
if (i>0) { i ++ }; // 錯誤, { 和 } 在同一行
// 下面寫法正確, 單獨作為一行
if (i>0) {
i ++
};
括號
左括號和后一個字符之間不應該出現空格; 同樣, 右括號和前一個字符之間也不應該出現空格。
下面的例子說明括號和空格的錯誤及正確使用:
CallProc( AParameter ); // 錯誤
CallProc(AParameter); // 正確
不要在語句中使用無意義的括號,括號只應該為達到某種目的而出現在源代碼中。
JSP文件命名
采用完整的英文描述說明JSP所完成的功能,盡可能包括一個生動的動詞,第一個字母小寫,如:viewMessage.jsp、editUser.jsp或者forumChooser.jsp等。
Servlet類命名
一般對應于所服務的對象加后綴Service來命名,如:UserService,TradeService等。
4. 一些編程建議
使用 StringBuffer 對象
在處理 String 的時候要盡量使用 StringBuffer 類,StringBuffer 類是構成 String 類的基礎。String 類將 StringBuffer 類封裝了起來,(以花費更多時間為代價)為開發人員提供了一個安全的接口。當我們在構造字符串的時候,我們應該用 StringBuffer 來實現大部分的工作,當工作完成后將 StringBuffer 對象再轉換為需要的 String 對象。比如:如果有一個字符串必須不斷地在其后添加許多字符來完成構造,那么我們應該使用 StringBuffer
對象和它的 append() 方法。如果我們用 String 對象代替 StringBuffer 對象的話,會花費許多不必要的創建和釋放對象的 CPU 時間。
避免太多的使用 synchronized 關鍵字
避免不必要的使用關鍵字 synchronized,應該在必要的時候再使用它,這是一個避免死鎖的好方法。 必須使用時,也盡量控制范圍,最好在塊級控制。
避免使用 java.util.Vector 類
因為"Unlike the new collection implementations, Vectoris synchronized.",所以使用java.util.Vector類在性能上會有所減低。
盡量使用接口而不是一個具體的類。(即面向接口編程)
每行聲明變量的數量(Number Per Line) 推薦一行一個聲明,因為這樣以利于寫注釋
簡單語句
賦值和表達式規范:每行只包含一條語句。
本地變量:如果本地變量聲明后不再變動應當聲明為final,使編譯器生成更有效率的代碼。
數組的聲明:數組的[]應該緊跟類型名,而不是數組名。在“[”之前不能有空格。
return語句規范:return語句后面的返回值不可以用括號包起來,除非是后面是一個表達式。
以上就是關于“Java組件開發規范之開發編碼規范”的介紹,在學習Java的過程中,還會遇到很多的Java開發工具,大家可要好好學習哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習