更新時(shí)間:2022-10-26 10:41:22 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1361次
編碼規(guī)范對(duì)于程序員而言,尤為重要,有以下幾個(gè)原因:
一個(gè)軟件的生命周期中,80%的花費(fèi)在于維護(hù);
幾乎沒(méi)有任何一個(gè)軟件,在其整個(gè)生命周期中,均由最初的開(kāi)發(fā)來(lái)維護(hù);
編碼規(guī)范可以改善軟件的可讀性,可以讓程序員盡快而徹底地理解新的代碼;
如果你將源碼作為產(chǎn)品發(fā)布,就需要確認(rèn)它是否被很好的打包并且清晰無(wú)誤,一如你已構(gòu)建的其他任何產(chǎn)品;
1.包命名
包名規(guī)則:一個(gè)唯一的包名的前綴總是全部小寫(xiě)的ASCII字母并且是一個(gè)頂級(jí)域名,如com、edu、gov、net、org等。包名的后續(xù)部分根據(jù)不同機(jī)構(gòu)各自?xún)?nèi)部的命名規(guī)范而不盡相同。這類(lèi)命名規(guī)范需要以特定目錄名的組成來(lái)區(qū)分部門(mén),項(xiàng)目,模塊等。
例如:com.bestpay.cif.core.manager --------重生項(xiàng)目的某一個(gè)包,在沒(méi)有特別要求的情況下,盡量按這種格式命名包名。
2.類(lèi)和接口的命名
命名規(guī)則:每個(gè)單詞首字母大寫(xiě),盡量簡(jiǎn)潔而富于描述。使用完整單詞,避免縮寫(xiě)(除非縮寫(xiě)已被廣泛使用)。
例如:
Activity ------ [xxx]Activity.java eg:SplashActivity
Dialog ------ [xxx]Dialog.java eg:LoginDialog
Service ------- [xxx]Service.java
常用的工具類(lèi)--[xxx]Util.java
自動(dòng)化測(cè)試的類(lèi)命名一般在開(kāi)發(fā)的類(lèi)后面加Test即可,如開(kāi)發(fā)的類(lèi)名是Activity,測(cè)試的類(lèi)名應(yīng)為ActivityTest。
3.方法的命名
命名規(guī)則:第一個(gè)單詞首字母小寫(xiě),其后單詞的首字母大寫(xiě),以包含測(cè)試場(chǎng)景為佳,如下兩個(gè)示例:
testOrderIsFilledIfEnoughInWarehouse()
testOrderDoesNotRemoveIfNotEnough()
注:樁方法應(yīng)該在方法后面中加上stub關(guān)鍵字。
4.變量命名
命名規(guī)則:第一個(gè)單詞首字母小寫(xiě),其后單詞首字母大寫(xiě)。盡量避免單個(gè)字符的變量名。
5.常量命名
命名規(guī)則:類(lèi)常量的聲明,應(yīng)該全部大寫(xiě),單詞間用下劃線隔開(kāi)。
例如:
static final int MIN_WIDTH = 4 ;
static final int MAX_WIDTH = 999;
6.異常命名
命名規(guī)則:自定義異常的命名必須以Exception為結(jié)尾,用以明確表示為一個(gè)異常。
注釋
Java程序有兩類(lèi)注釋?zhuān)簩?shí)現(xiàn)注釋(implementationcomments)和文檔注釋(document comments)。
實(shí)現(xiàn)注釋使用/*...*/ 和 // 。
文檔注釋使用/**...*/,文檔注釋可以通過(guò)javadoc工具轉(zhuǎn)換生成HTML文件
(1)文件注釋
所有源文件都應(yīng)該在開(kāi)頭有一個(gè)注釋?zhuān)渲辛谐鲱?lèi)名、版本信息、日期和版權(quán)聲明。
/*
*?文件名
*?包含類(lèi)名列表
*?版本信息,版本號(hào)
*?創(chuàng)建日期。
*?版權(quán)聲明
*/
(2)類(lèi)注釋
每一個(gè)類(lèi)都應(yīng)該包含如下格式的注釋?zhuān)哉f(shuō)明當(dāng)前類(lèi)的功能等
/**
* ?類(lèi)名
* ?@author作者?<br/>
*??????實(shí)現(xiàn)的主要功能。
*??????創(chuàng)建日期
*??????修改者,修改日期,修改內(nèi)容。
*/
(3)方法注釋
每一個(gè)方法都應(yīng)該包含如下格式的注釋?zhuān)ó?dāng)前方法的用途,當(dāng)前方法參數(shù)的含義,當(dāng)前方法的返回值的內(nèi)容和拋出異常的列表。
/**
*
*??方法的一句話概述
*?<p>方法詳述(簡(jiǎn)單方法可不必詳述)</p>
*?@params?說(shuō)明參數(shù)含義
*??@return說(shuō)明返回值含義
*??@throws?IOException?說(shuō)明發(fā)生此異常的條件
*??@throws?NullPointerException?說(shuō)明發(fā)生此異常的條件
*/
(4)類(lèi)成員變量和常量注釋
成員變量和常量要使用javadoc形式的注釋說(shuō)明當(dāng)前變量或常量的含義。
/**
* ?XXXX含義
*/
(5)其他注釋
方法內(nèi)部的注釋如果需要多行使用/*…*/形式,如果單行使用//…形式注釋。方法內(nèi)部不要使用java doc注釋。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743