JAVA代碼開發(fā)規(guī)范
一.開發(fā)工具規(guī)范:
1. 開發(fā)工具經(jīng)項(xiàng)目負(fù)責(zé)人調(diào)試后統(tǒng)一確定。
2. 開發(fā)工具一經(jīng)確定不允許集成任何非統(tǒng)一插件,若有需要,經(jīng)項(xiàng)目負(fù)責(zé)人同意后統(tǒng)一為 項(xiàng)目組成員添加。
3. 開發(fā)工具的編碼格式不允許修改。
二.排版規(guī)范:
1. 關(guān)鍵詞(或變量)和操作符之間加一個(gè)空格。 例如:int iCont = 1;//操作符和值之間有一個(gè)空格。
2. 相對(duì)獨(dú)立的代碼塊與塊之間加空行。 例如:兩個(gè)方法之間需要用空格隔開。
3. 較長的語句、表達(dá)式等要分成多行書寫。
4. 長表達(dá)式要在低優(yōu)先級(jí)操作符處劃分新行,操作符放在新行之首。
5. 代碼的新行與上一行根據(jù)邏輯關(guān)系要進(jìn)行適應(yīng)的縮進(jìn)(一個(gè) table 鍵),使排版整齊,語 句易讀。
6. 不允許把多個(gè)短語句寫在一行中,即一行只寫一條語句。
7. 函數(shù)或過程的開始、結(jié)構(gòu)的定義及循環(huán)、判斷等語句中的代碼都要采用縮進(jìn)風(fēng)格。采用 TABLE 鍵縮進(jìn)。
8. 循環(huán)、判斷等語句中若有較長的表達(dá)式或語句,則要進(jìn)行適應(yīng)的劃分。
9. 若函數(shù)或過程中的參數(shù)較長,則要進(jìn)行適當(dāng)?shù)膭澐帧?/p>
10. 用大括號(hào)‘{'和‘}'界定一段程序塊時(shí),編寫程序塊時(shí)‘{'和 ‘}'應(yīng)各獨(dú)占一行 并且位于同一列,同時(shí)與引用它們的語句左對(duì)齊。在函數(shù)體的開始、類的定義、結(jié)構(gòu)的定義、 枚舉的定義以及 if、for、do、while、switch、case 語句中的程序都要采用如上的縮進(jìn)方 式。
JAVA代碼開發(fā)規(guī)范(WISHSOFT)
11. main 方法:如果 main(String[]) 方法已經(jīng)定義了, 那么它應(yīng)該寫在類的底部.
三.命名規(guī)范:
1. Package(包)的命名
Package 的名字應(yīng)該都是由一個(gè)小寫單詞組成。 例如:package com.wish;
2. Class 的命名
Class 的名字必須由大寫字母開頭而其他字母都小寫的單詞組成,對(duì)于所有標(biāo)識(shí)符,其
中包含的所有單詞都應(yīng)緊靠在一起,而且大寫中間單詞的首字母。 例如:
public class DatabaseOperator {
}
3. Class 中成員變量的命名 變量的名字必須用一個(gè)小寫字母開頭,后面的單詞用大寫字母開頭,不需要數(shù)據(jù)類型前
綴。 例如:userName,size。
4. Class 中 Static Final 變量的命名
static Final 變量的名字應(yīng)該都大寫,并且指出完整含義。
例如:
public static final String DB_CONFIG_FILE_PATH ="com.neu.etrain.dbconfig";
5. Class 中方法的命名 方法的名字開頭的單詞必須用一個(gè)小寫字母,后面的單詞用大寫字母開頭。 例如:setName() , getMethod()。
6. 方法聲明中參數(shù)命名 使用有意義的參數(shù)命名,如果可能的話,使用和要賦值的字段一樣的名字。 例如:
public void setCounter(int size)
{
JAVA代碼開發(fā)規(guī)范(WISHSOFT)
this.size = size;
}
7. 方法內(nèi)變量的命名
Class 中成員變量的命名。
8. 數(shù)組的命名
數(shù)組應(yīng)該總是用下面的方式來命名: byte[] buffer;而不是: byte buffer[];
9. 分頁中每頁列表數(shù)量的變量使用 pageSize,當(dāng)前的所在的頁號(hào)為 pageNumber。
四.注釋規(guī)范:
1. 注釋要簡單明了。
2. 邊寫代碼邊注釋,修改代碼同時(shí)修改相應(yīng)的注釋,以保證注釋與代碼的一致性。
3. 在必要的地方注釋,注釋量要適中。注釋的內(nèi)容要清楚、明了,含義準(zhǔn)確,防止注釋二 義性。保持注釋與其描述的代碼相鄰,即注釋的就近原則。
4. 變量、常量的注釋應(yīng)放在其上方相鄰位置或右方,不可放在下面。
5. 全局變量要有較詳細(xì)的注釋,包括對(duì)其功能、取值范圍、哪些函數(shù)或過程存取它以及存 取時(shí)注意事項(xiàng)等的說明。
6. 類,方法的注釋采用 eclipse 自動(dòng)生成方法。
當(dāng)把一個(gè)類,或方法的聲明寫完整后,在類,方法的正上方(不許有空格)在英文輸入 法狀態(tài)下輸入:/** 后,系統(tǒng)會(huì)自動(dòng)生成他們的注釋模板,我們只需要填寫相應(yīng)的說明文字 即可,注意:/**的下一行一定要寫功能說明。
7. 具體要求說明:
n 聲明性(變量定義類)一定要有注釋。例如:String myName; //用戶名 n 類定義必須生成文檔(JavaDoc)注釋。
n 方法必須生成文檔(JavaDoc)注釋(包括實(shí)體類的set,get方法)。 n 成員變量必須生成文檔(JavaDoc)注釋。
n 方法中的邏輯部分由程序編寫人根據(jù)復(fù)雜情況自行書寫。
8. 類定義的注釋信息,包括:作者;日期;模塊功能描述(如功能、主要算法、內(nèi)部各部
分之間的關(guān)系、該文件與其它文件關(guān)系等);本文件歷史修改記錄;版本信息等。
/**
* 干什么用的(描述信息)
JAVA代碼開發(fā)規(guī)范(WISHSOFT)
* @author lifw20080320
* @modify lifw20080321
* @modify lifw20080322 (如果有多個(gè),依次寫多個(gè)@modify) * @copyright wishsoft
**/
9.javadoc 注釋標(biāo)簽語法
@author 對(duì)類的說明 標(biāo)明開發(fā)該類模塊的作者
@version 對(duì)類的說明 標(biāo)明該類模塊的版本
@see 對(duì)類、屬性、方法的說明 參考轉(zhuǎn)向,也就是相關(guān)主題 @param 對(duì)方法的說明 對(duì)方法中某參數(shù)的說明
@return 對(duì)方法的說明 對(duì)方法返回值的說明
@exception 對(duì)方法的說明 對(duì)方法可能拋出的異常進(jìn)行說明
五.基本數(shù)據(jù)類型前綴表(其他對(duì)象類型,隨時(shí)補(bǔ)充):
Java 中數(shù)據(jù)類型 |
數(shù)據(jù)類型前綴 |
int |
i |
String |
str |
char |
c |
long |
l |
float |
f |
double |
d |
boolean |
b |
short |
s |
byte |
byte |
vector |
v |
六.日志組件使用規(guī)范(log4j)
1. Log 中的方法使用:
a) log.debug()是放在代碼行中間,用來調(diào)試時(shí)輸出使用,永久保留,不用刪除。
b) log.error()是放在 try{}catch(){}中 catch 部分里的用來輸出 error 異常信息使用的。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Spring Boot如何優(yōu)雅的使用多線程實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Spring Boot如何優(yōu)雅的使用多線程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05SpringBoot啟動(dòng)時(shí)自動(dòng)執(zhí)行代碼的幾種實(shí)現(xiàn)方式
這篇文章主要給大家介紹了關(guān)于SpringBoot啟動(dòng)時(shí)自動(dòng)執(zhí)行代碼的幾種實(shí)現(xiàn)方式,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02詳解Java 反射和反射的應(yīng)用場(chǎng)景
這篇文章主要介紹了Java 反射和反射的應(yīng)用場(chǎng)景的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java反射的相關(guān)知識(shí),感興趣的朋友可以了解下2020-08-08Java中隨機(jī)數(shù)的產(chǎn)生方式與原理詳解
這篇文章主要介紹了Java中隨機(jī)數(shù)的產(chǎn)生方式與原理詳解的相關(guān)資料,需要的朋友可以參考下2016-11-11Java用正則表達(dá)式實(shí)現(xiàn)${name}形式的字符串模板實(shí)例
這篇文章主要給大家介紹了Java如何用正則表達(dá)式實(shí)現(xiàn)${name}形式的字符串模板,文章給出詳細(xì)的實(shí)例代碼,對(duì)大家的理解和學(xué)習(xí)會(huì)很有幫助,有需要的朋友們下面來一起看看吧。2016-12-12java中g(shù)radle項(xiàng)目報(bào)錯(cuò)org.gradle?.api.plugins.MavenPlugin解決辦法
在使用Gradle時(shí)開發(fā)者可能會(huì)遇到org.gradle?.api.plugins.MavenPlugin報(bào)錯(cuò)提醒,這篇文章主要給大家介紹了關(guān)于java中g(shù)radle項(xiàng)目報(bào)錯(cuò)org.gradle?.api.plugins.MavenPlugin的解決辦法,需要的朋友可以參考下2023-12-12解決nacos修改配置信息后需要重啟服務(wù)才能生效的問題
當(dāng)配置信息發(fā)生變動(dòng)時(shí),傳統(tǒng)修改配置信息后,需要重新重啟服務(wù)器才可以生效,大量應(yīng)用配置修改時(shí),需要一個(gè)個(gè)修改配置,無法統(tǒng)一修改,且沒有辦法回溯配置版本,所以本文給大家介紹了如何解決這些問題的方法,需要的朋友可以參考下2023-10-10