java的命名規(guī)則

1、包名統(tǒng)一使用小寫,點(diǎn)分隔符之間有且僅有一個(gè)自然語(yǔ)義的英語(yǔ)單詞。包名統(tǒng)一使用單數(shù)形式,但是類名如果有復(fù)數(shù)含義,類名可以使用復(fù)數(shù)形式。

創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站開發(fā)、展示型網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作等服務(wù),幫助中小企業(yè)通過(guò)網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷推廣問題。

正例:應(yīng)用工具包名為com.java.util、類名為StringUtils

2、類名、接口名使用UpperCamelCase風(fēng)格,必須遵從駝峰形式,但以下情形例外:DO/BO/DTO/VO/AO/PO/UID等。

正例:

UserLoginCheckService/UserDO

反例:

userlogincheckservice/UserDo

3、方法名、參數(shù)名、成員變量、局部變量都統(tǒng)一使用lowerCamelCase風(fēng)格,必須遵從駝峰形式。

正例:

userServiceImpl

反例:

userserviceimpl

4、常量命名全部大寫,單詞間用下劃線隔開,力求語(yǔ)義表達(dá)完整清楚,不要嫌名字長(zhǎng)。

正例:

MAX_BOOK_COUNT/CACHE_EXPIRED_TIME

反例:

MAX_COUNT/EXPIRED_TIME

5、為了達(dá)到代碼自解釋的目標(biāo),任何自定義編程元素在命名時(shí),使用盡量完整的單詞組合來(lái)表達(dá)其意,即要做到“見名知意”。

正例:在 JDK 中,表達(dá)原子更新的類名為:AtomicReferenceFieldUpdater

反例:

String a = "李四"; // 天啦嚕,鬼知道你這個(gè)a是啥意思啊

6、定義數(shù)組時(shí),類型與中括號(hào)緊挨相連。

正例:

int[] array = new int[10];
int array[] = new int[10]; // 不建議這樣寫

7、抽象類命名使用 Abstract 或 Base 開頭;異常類命名使用 Exception 結(jié)尾;測(cè)試類命名以它要測(cè)試的類的名稱開始,以 Test 結(jié)尾。

正例:

AbstractService/CommonException/DemoTest

8、杜絕完全不規(guī)范的縮寫,避免望文不知義。

反例:AbstractClass“縮寫”命名成 AbsClass;condition“縮寫” 命名成 condi,此類隨意縮寫嚴(yán)重降低了代碼的可閱讀性。

9、如果模塊、 接口、類、方法使用了設(shè)計(jì)模式,在命名時(shí)需體現(xiàn)出具體模式。

說(shuō)明:將設(shè)計(jì)模式體現(xiàn)在名字中,有利于閱讀者快速理解架構(gòu)設(shè)計(jì)理念。

正例:

public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;

10、對(duì)于 Service 和 DAO 類,基于 SOA 的理念,暴露出來(lái)的服務(wù)一定是接口,內(nèi)部的實(shí)現(xiàn)類用Impl 的后綴與接口區(qū)別。

正例:CacheServiceImpl實(shí)現(xiàn)CacheService接口

11、如果是形容能力的接口名稱,取對(duì)應(yīng)的形容詞為接口名(通常是–able 的形容詞)。

正例:JDK中的Comparable接口

12、在long或者Long賦值時(shí),數(shù)值后使用大寫的 L,不能是小寫的 l,小寫容易跟數(shù)字 1 混淆,造成誤解。

說(shuō)明:Long a = 2l;寫的是數(shù)字的 21,還是 Long 型的 2 ??

13、不允許任何魔法值(即未經(jīng)預(yù)先定義的常量)直接出現(xiàn)在代碼中

正例:

public static final ORDER_redis_KEY_PREFIX = "orderId_";
String orderRedisKey = ORDER_REDIS_KEY_PREFIX + orderId;

反例:

String redisKey = "orderId_" + orderId;

14、枚舉類名帶上Enum后綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。

正例:枚舉名字為ProcessStatusEnum的成員名稱:SUCCESS / UNKNOWN_REASON

以上就是java如何命名的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

本文標(biāo)題:java的命名規(guī)則
本文路徑:http://bm7419.com/article4/gocjie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃、網(wǎng)站營(yíng)銷定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作