黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java組件開發(fā)規(guī)范之開發(fā)編碼規(guī)范

Java組件開發(fā)規(guī)范之開發(fā)編碼規(guī)范

更新時(shí)間:2022-07-05 11:35:12 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1360次

Java組件開發(fā)也是有規(guī)范的,動(dòng)力節(jié)點(diǎn)小編先給大家介紹一下Java開發(fā)編碼規(guī)范。

Java開發(fā)編碼規(guī)范

Java 命名約定。

采用適用于相關(guān)領(lǐng)域的術(shù)語

采用大小寫混合使名字可讀

盡量少用縮寫,但如果用了,要明智地使用,且在整個(gè)工程中統(tǒng)一

避免使用長(zhǎng)的名字(一般小于15個(gè)字母)

避免使用類似的名字,或者僅僅是大小寫不同的名字

避免使用下劃線(除靜態(tài)常量等)

包(Package)

Java包(Package)采用完整的英文描述符,應(yīng)該都是由小寫字母組成。對(duì)于全局包,將你的 Internet 域名反轉(zhuǎn)并接上包名。 例如:java.awt,com.ambysoft.www.persistence

類(Class)

采用完整的英文描述符,所有單詞的第一個(gè)字母大寫(一些專有的縮寫詞,比如:AWTException等則除外)。Class的名字建議使用名詞或者名詞短語。 例如:Customer, SavingsAccount,LayoutManager等

接口(Interface)

接口的名字取決于接口的主要功能和用途。如果接口是使對(duì)象具有某種特定的功能,則接口的名字建議使用可以描述這種功能的形容詞(加上-able或者-ible后綴)

例如:Searchable,Sortable,NetworkAccessible等

如果接口不是使對(duì)象具有某種特定的功能則建議使用名詞或者名詞短語(同類的命名規(guī)則)。

組件/部件(Component)

使用完整的英文描述來說明組件的用途,末端應(yīng)接上組件類型。 okButton,customerList,fileMenu

異常(Exception)

通常采用字母 e 表示異常。

類變量 字段

采用完整的英文描述,第一個(gè)字母小寫,任何中間單詞的首字母大寫。 firstName, lastName

靜態(tài)常量字段(static final)

全部采用大寫字母,單詞之間用下劃線分隔。 MIN_BALANCE, DEFAULT_DATE

方法

方法命名采用大小寫混合的形式。以小寫字母開頭,名字中其他單詞的首字母以大寫字母開頭,所有其它的單詞都為小寫字母,不要使用下劃線分隔單詞。方法的命名應(yīng)該能描繪出方法的作用和功能,方法的名字建議使用祈使動(dòng)詞或者動(dòng)詞短語。

例如:showStatus(),drawCircle(),addLayoutComponent()

成員函數(shù)

被訪問字段名的前面加上前綴 get。 getFirstName(), getLastName()

布爾型的獲取成員函數(shù) 所有的布爾型獲取函數(shù)必須用單詞 is 做前綴。 isPersistent(), isString() ;設(shè)置成員函數(shù) 被訪問字段名的前面加上前綴 set。 setFirstName(),setLastName(),setWarpSpeed()

空白的使用相關(guān)

空行規(guī)范

空行的使用有益于將代碼按照邏輯分段,提高代碼的可讀性。在下列情況下建議使用一個(gè)空行:

l 在版權(quán)聲明塊、包聲明塊、引用聲明塊之后;

l 在類的聲明之間;

l 在方法的聲明之間;

l 在類中聲明最后一個(gè)屬性之后,聲明第一個(gè)方法之前。

空格規(guī)范

在一個(gè)關(guān)鍵字和它所修飾的塊之間??捎糜谌缦碌年P(guān)鍵字:catch,for,if,switch,synchronized,while。下列關(guān)鍵字的后面不要跟隨空格:super ,this 。

在一個(gè)參數(shù)列表中逗號(hào)之后。

空格不應(yīng)該置于方法名與其左括號(hào)之間

左括號(hào)和后一個(gè)字符之間不應(yīng)該出現(xiàn)空格

右括號(hào)和前一個(gè)字符之間也不應(yīng)該出現(xiàn)空格

例如:

public setMethod(int i, String j)

縮進(jìn)規(guī)范

行的縮進(jìn)要求是四個(gè)空格。由于在使用不同的源代碼管理工具時(shí)Tab字符將因?yàn)橛脩粼O(shè)置的不同而擴(kuò)展為不同的寬度,所以請(qǐng)不要使用Tab鍵。建議修改各管理工具的設(shè)置將Tab字符擴(kuò)展成4個(gè)空格。

循環(huán)計(jì)數(shù)器

通常采用字母 i,j,k 或者 counter 都可以接受。 i, j, k, counter

1. Java 注釋約定一個(gè)很好的可遵循的有關(guān)注釋的經(jīng)驗(yàn)法則是:?jiǎn)枂柲阕约?,你如果從未見過這段代碼,要在合理的時(shí)間內(nèi)有效地明白這段代碼,你需要哪些信息。

(1)一般概念

注釋應(yīng)該增加代碼的清晰度

保持注釋的簡(jiǎn)潔

在寫代碼之前寫注釋(建議)

對(duì)于復(fù)雜點(diǎn)的邏輯,注釋出為什么做了一些事,而不僅僅是做了什么

(2)示范

文檔注釋 在緊靠接口、類、成員函數(shù)和字段聲明的前面注釋它們。

單行 在成員函數(shù)內(nèi)采用單行注釋,來說明業(yè)務(wù)邏輯、代碼段和暫時(shí)變量的聲明。注釋符"//"后必須緊跟一個(gè)空格,然后才是注釋信息。

(3)注釋哪些部分

類類的目的、即類所完成的功能,注釋出采用的不變量。

接口設(shè)置接口的目的、它應(yīng)如何被使用以及如何不被使用。

成員函數(shù)注釋 對(duì)于設(shè)置與獲取成員函數(shù),在成員變量已有說明的情況下,可以不加注釋;普通成員函數(shù)要求說明完成什么功能,參數(shù)含義是什么返回什么;

普通成員函數(shù)內(nèi)部注釋 控制結(jié)構(gòu),代碼做了些什么以及為什么這樣做,處理順序等。

實(shí)參/參數(shù) 參數(shù)含義、及其它任何約束或前提條件

字段/屬性 字段描述

局部變量 無特別意義的情況下不加注釋

2. Java 文件樣式約定所有的 Java(*.java) 文件都必須遵守如下的樣式規(guī)則:

(1)版權(quán)信息

版權(quán)信息必須在 java 文件的開頭,比如:

/** * Copyright ? 2000 Shanghai XXX Co. Ltd. * All right reserved. */

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

(2)Package/Imports

package 行要在 import 行之前,import 中標(biāo)準(zhǔn)的包名要在本地的包名之前,而且按照字母順序排列。如果 import 行中包含了同一個(gè)包中的不同子目錄,則應(yīng)該用 * 來處理。(如果有特殊要求,可以不采用*來處理,有時(shí)候那樣更加明確使用了那些類)

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)存取方法(類的設(shè)置與獲取成員函數(shù))

接下來是類變量的存取的方法。

(6)構(gòu)造函數(shù)

接下來是構(gòu)造函數(shù),它應(yīng)該用遞增的方式寫(比如:參數(shù)多的寫在后面)。

public CounterSet(int size){
this.size = size;
}

(7)類方法 (類的普通成員函數(shù))

下面開始寫類的方法:

(8)toString 方法

一般情況下,每一個(gè)類都應(yīng)該定義 toString 方法:

public String toString() { ……}

(9)main 方法

普通類,考慮置入一個(gè)main()方法,其中包含用于測(cè)試那個(gè)類的代碼,如果包含了main() 方法, 那么它應(yīng)該寫在類的底部。

3. Java編碼其它約定

文檔化 必須用 javadoc 來為類生成文檔。不僅因?yàn)樗菢?biāo)準(zhǔn),這也是被各種 java 編譯器都認(rèn)可的方法。

縮進(jìn)

縮進(jìn)應(yīng)該是每行2個(gè)(或4個(gè))空格。 盡量不要在源文件中保存Tab字符, 在使用不同的源代碼管理工具時(shí)Tab字符將因?yàn)橛脩粼O(shè)置的不同而擴(kuò)展為不同的寬度。

如果你使用 UltrEdit 作為你的 Java 源代碼編輯器的話,你可以通過如下操作來禁止保存Tab字符, 方法是通過 UltrEdit中先設(shè)定 Tab 使用的長(zhǎng)度室2個(gè)空格,然后用 Format|Tabs toSpaces 菜單將 Tab 轉(zhuǎn)換為空格。

頁寬 換行

頁寬應(yīng)該設(shè)置為80字符。 源代碼一般不會(huì)超過這個(gè)寬度, 并導(dǎo)致無法完整顯示, 但這一設(shè)置也可以靈活調(diào)整。 在任何情況下, 一條語句折行后, 應(yīng)該比原來的語句再縮進(jìn)2個(gè)字符。

可以依據(jù)如下一般規(guī)則斷開:

在一個(gè)逗號(hào)后面斷開

在一個(gè)操作符前面斷開

寧可選擇較高級(jí)別(higher-level)的斷開,而非較低級(jí)別(lower-level)的斷開

新的一行應(yīng)該與上一行同一級(jí)別表達(dá)式的開頭處對(duì)齊

如果以上規(guī)則導(dǎo)致你的代碼混亂或者使你的代碼都堆擠在右邊,那就代之以縮進(jìn)8個(gè)空格。

{} 對(duì)

{} 中的語句應(yīng)該單獨(dú)作為一行。

例如, 下面的第1行是錯(cuò)誤的, 第2行是正確的:

if (i>0) { i ++ }; // 錯(cuò)誤, { 和 } 在同一行

// 下面寫法正確, 單獨(dú)作為一行

if (i>0) {
i ++
};

括號(hào)

左括號(hào)和后一個(gè)字符之間不應(yīng)該出現(xiàn)空格; 同樣, 右括號(hào)和前一個(gè)字符之間也不應(yīng)該出現(xiàn)空格。

下面的例子說明括號(hào)和空格的錯(cuò)誤及正確使用:

CallProc( AParameter ); // 錯(cuò)誤
CallProc(AParameter); // 正確

不要在語句中使用無意義的括號(hào),括號(hào)只應(yīng)該為達(dá)到某種目的而出現(xiàn)在源代碼中。

JSP文件命名

采用完整的英文描述說明JSP所完成的功能,盡可能包括一個(gè)生動(dòng)的動(dòng)詞,第一個(gè)字母小寫,如:viewMessage.jsp、editUser.jsp或者forumChooser.jsp等。

Servlet類命名

一般對(duì)應(yīng)于所服務(wù)的對(duì)象加后綴Service來命名,如:UserService,TradeService等。

4. 一些編程建議

使用 StringBuffer 對(duì)象

在處理 String 的時(shí)候要盡量使用 StringBuffer 類,StringBuffer 類是構(gòu)成 String 類的基礎(chǔ)。String 類將 StringBuffer 類封裝了起來,(以花費(fèi)更多時(shí)間為代價(jià))為開發(fā)人員提供了一個(gè)安全的接口。當(dāng)我們?cè)跇?gòu)造字符串的時(shí)候,我們應(yīng)該用 StringBuffer 來實(shí)現(xiàn)大部分的工作,當(dāng)工作完成后將 StringBuffer 對(duì)象再轉(zhuǎn)換為需要的 String 對(duì)象。比如:如果有一個(gè)字符串必須不斷地在其后添加許多字符來完成構(gòu)造,那么我們應(yīng)該使用 StringBuffer

對(duì)象和它的 append() 方法。如果我們用 String 對(duì)象代替 StringBuffer 對(duì)象的話,會(huì)花費(fèi)許多不必要的創(chuàng)建和釋放對(duì)象的 CPU 時(shí)間。

避免太多的使用 synchronized 關(guān)鍵字

避免不必要的使用關(guān)鍵字 synchronized,應(yīng)該在必要的時(shí)候再使用它,這是一個(gè)避免死鎖的好方法。 必須使用時(shí),也盡量控制范圍,最好在塊級(jí)控制。

避免使用 java.util.Vector 類

因?yàn)?quot;Unlike the new collection implementations, Vectoris synchronized.",所以使用java.util.Vector類在性能上會(huì)有所減低。

盡量使用接口而不是一個(gè)具體的類。(即面向接口編程)

每行聲明變量的數(shù)量(Number Per Line) 推薦一行一個(gè)聲明,因?yàn)檫@樣以利于寫注釋

語句相關(guān)規(guī)范

簡(jiǎn)單語句

賦值和表達(dá)式規(guī)范:每行只包含一條語句。

本地變量:如果本地變量聲明后不再變動(dòng)應(yīng)當(dāng)聲明為final,使編譯器生成更有效率的代碼。

數(shù)組的聲明:數(shù)組的[]應(yīng)該緊跟類型名,而不是數(shù)組名。在“[”之前不能有空格。

return語句規(guī)范:return語句后面的返回值不可以用括號(hào)包起來,除非是后面是一個(gè)表達(dá)式。

以上就是關(guān)于“Java組件開發(fā)規(guī)范之開發(fā)編碼規(guī)范”的介紹,在學(xué)習(xí)Java的過程中,還會(huì)遇到很多的Java開發(fā)工具,大家可要好好學(xué)習(xí)哦。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: a级大片免费看 | 日韩在线不卡一区在线观看 | 日韩福利视频导航 | 亚洲精品视频导航 | 亚洲国产天堂久久综合9999 | 日日操免费视频 | 国产免费一区不卡在线 | 亚洲成人免费 | 成年人免费在线观看网站 | 久久精品日日躁精品 | 中国女与老外在线精品 | 国产精品久久久久久夜夜夜夜 | 日本黄色录像 | 好吊妞gao988在线播放 | 欧美一级黄色片免费看 | 亚洲第一免费 | 又黄又爽又色视频 | 日韩性大片免费 | 欧美三级大片在线观看 | 妞干网最新视频 | 黄色小视频在线免费看 | 成人免费va视频 | 久久一区精品 | 六月激情丁香 | 欧美在线视频播放 | sao虎视频在线精品永久 | 日本成人中文字幕 | 狠狠综合 | 中文字幕在线免费视频 | 在线免费观看a视频 | 欧美日韩高清一本大道免费 | 一级毛片免费在线观看网站 | 免费看毛片的网址 | 午夜一区二区免费视频 | 久在草在线 | 国产aaa级一级毛片 国产aaa三级 | 欧美国产91 | 一个人看的www日本视频 | 亚洲视频a| 午夜色视频在线观看 | 日韩在线天堂免费观看 |