国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 教妹學(xué)Java:Java命名約定

教妹學(xué)Java:Java命名約定

2020-11-18 23:01沉默王二 Java教程

由于互聯(lián)網(wǎng)上的域名是不會重復(fù)的,所以多數(shù)開發(fā)人員采用自己公司(或者個(gè)人博客)在互聯(lián)網(wǎng)上的域名稱作為包的唯一前綴。比如我文章中出現(xiàn)的代碼示例的包名就是 package com.itwanger。

教妹學(xué)Java:Java命名約定

就有同學(xué)留言說“妹妹大一就開始學(xué)習(xí) Java 了,有點(diǎn)厲害啊。”我只能說,要對妹妹負(fù)責(zé),就必須得趁早,因?yàn)樯饨?jīng)有這么一句話:

人無我有,人有我好,人好我早,人多我早。

這句話用在生意上合適,用在學(xué)習(xí)上也是再合適不過了。當(dāng)別人都不懂一門新技術(shù)的時(shí)候,你懂,那么恭喜你,你已經(jīng)遙遙領(lǐng)先了;當(dāng)別人也懂了,你比他精通,那么你就是牛逼;當(dāng)別人也精通了,你比他精通的早,還是有優(yōu)勢,對吧?

強(qiáng)調(diào)一下,《教妹學(xué) Java》面向的是零基礎(chǔ)的 Java 愛好者,我希望能幫助同學(xué)們輕松邁進(jìn)編程世界的大門,為后續(xù)的深入學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。

“二哥,Java 中的命名約定都有哪些呢?”三妹的臉上泛著甜甜的笑容,她開始對接下來要學(xué)習(xí)的內(nèi)容充滿期待了,這正是我感到欣慰的地方。

“對于我們中國人來說,名字也是有講究的,比如說我叫沉默王二,你就叫沉默王三,哈哈。”我笑著對三妹說。

命名約定決定我們使用什么樣的標(biāo)識符來命名包、類、字段、方法等等,雖然這個(gè)規(guī)則不是強(qiáng)制的,可以遵守,也可以不遵守,但如果不遵守的話,就會帶來很多不必要的麻煩。

起個(gè)好的名字,就好像穿一件得體的衣服,呈現(xiàn)給人的用戶體驗(yàn)是完全不一樣的。

好的命名可以讓你的代碼更易讀,包括你自己和你的小伙伴,看一眼,不用想太多,就能明白代碼是干嘛的。

拿我這個(gè)筆名“沉默王二”來舉例吧,讀起來我就覺得朗朗上口,讀者看到這個(gè)筆名就知道我是一個(gè)什么樣的人——對不熟的人保持沉默,對熟的人妙語連珠,哈哈。

01、包(package)

包的命名應(yīng)該遵守以下規(guī)則:

  • 應(yīng)該全部是小寫字母
  • 點(diǎn)分隔符之間有且僅有一個(gè)自然語義的英語單詞
  • 包名統(tǒng)一使用單數(shù)形式,比如說 com.itwanger.util 不能是 com.itwanger.utils
  • 在最新的 Java 編程規(guī)范中,要求開發(fā)人員在自己定義的包名前加上唯一的前綴。由于互聯(lián)網(wǎng)上的域名是不會重復(fù)的,所以多數(shù)開發(fā)人員采用自己公司(或者個(gè)人博客)在互聯(lián)網(wǎng)上的域名稱作為包的唯一前綴。比如我文章中出現(xiàn)的代碼示例的包名就是 package com.itwanger。

02、類(class)

類的命名應(yīng)該遵守以下規(guī)則:

  • 必須以大寫字母開頭
  • 最好是一個(gè)名詞,比如說 System
  • 類名使用 UpperCamelCase(駝峰式命名)風(fēng)格
  • 盡量不要省略成單詞的首字母,但以下情形例外:DO/BO/DTO/VO/AO/ PO / UID 等

教妹學(xué)Java:Java命名約定

另外,如果是抽象類的話,使用 Abstract 或 Base 開頭;如果是異常類的話,使用 Exception 結(jié)尾;如果是測試類的話,使用 Test 結(jié)尾。

03、接口(interface)

接口的命名應(yīng)該遵守以下規(guī)則:

  • 必須以大寫字母開頭
  • 最好是一個(gè)形容詞,比如說 Runnable
  • 盡量不要省略成單詞的首字母

來看個(gè)例子:

interface Printable {} 

接口和實(shí)現(xiàn)類之間也有一些規(guī)則:

  • 實(shí)現(xiàn)類用 Impl 的后綴與接口區(qū)別,比如說 CacheServiceImpl 實(shí)現(xiàn) CacheService 接口
  • 或者,AbstractTranslator 實(shí)現(xiàn) Translatable 接口

04、字段(field)和變量(variable)

字段和變量的命名應(yīng)該遵守以下規(guī)則:

  • 必須以小寫字母開頭
  • 可以包含多個(gè)單詞,第一個(gè)單詞的首字母小寫,其他的單詞首字母大寫,比如說 firstName
  • 最好不要使用單個(gè)字符,比如說 int a,除非是局部變量
  • 類型與中括號緊挨相連來表示數(shù)組,比如說 int[] arrayDemo,main 方法中字符串?dāng)?shù)組參數(shù)不應(yīng)該寫成 String args[]
  • POJO 類中的任何布爾類型的變量,都不要加 is 前綴,否則部分框架解析會引起序列化錯(cuò)誤,我自己知道的有 fastjson
  • 避免在子類和父類的成員變量之間、或者不同代碼塊的局部變量之間采用完全相同的命名,使可理解性降低。子類、父類成員變量名相同,即使是 public 類型的變量也能夠通過編譯,另外,局部變量在同一方法內(nèi)的不同代碼塊中同名也是合法的,這些情況都要避免。

反例:

public class ConfusingName { 

    public int stock; 

 

    // 非 setter/getter 的參數(shù)名稱,不允許與本類成員變量同名 

    public void get(String alibaba) { 

        if (condition) { 

            final int money = 666; 

// ... 

        } 

        for (int i = 0; i < 10; i++) { 

// 在同一方法體中,不允許與其它代碼塊中的 money 命名相同 final int money = 15978; 

// ... 

        } 

    } 

 

class Son extends ConfusingName { 

// 不允許與父類的成員變量名稱相同 public int stock; 

05、常量(constant)

常量的命名應(yīng)該遵守以下規(guī)則:

  • 應(yīng)該全部是大寫字母
  • 可以包含多個(gè)單詞,單詞之間使用“_”連接,比如說 MAX_PRIORITY,力求語義表達(dá)完整清楚,不要嫌名字長
  • 可以包含數(shù)字,但不能以數(shù)字開頭

來看個(gè)例子:

static final int MIN_AGE = 18;   

06、方法(method)

方法的命名應(yīng)該遵守以下規(guī)則:

  • 必須以小寫字母開頭
  • 最好是一個(gè)動詞,比如說 print()
  • 可以包含多個(gè)單詞,第一個(gè)單詞的首字母小寫,其他的單詞首字母大寫,比如說 actionPerformed()

來看個(gè)例子:

void writeBook(){} 

Service/DAO 層的方法命名規(guī)約:

  • 獲取單個(gè)對象的方法用 get 做前綴
  • 獲取多個(gè)對象的方法用 list 做前綴,復(fù)數(shù)結(jié)尾,如:listObjects
  • 獲取統(tǒng)計(jì)值的方法用 count 做前綴
  • 插入的方法用 save/insert 做前綴
  • 刪除的方法用 remove/delete 做前綴
  • 修改的方法用 update 做前綴

07、總結(jié)

除了以上這些規(guī)則以外,還有一些共同的規(guī)則需要遵守,比如說:

  • 代碼中的命名均不能以下劃線或美元符號開始,也不能以下劃線或美元符號結(jié)束。反例:_name / __name / $name / name_ / name$ / name__
  • 所有編程相關(guān)的命名嚴(yán)禁使用拼音與英文混合的方式,更不允許直接使用中文的方式。反例:DaZhePromotion [打折] / getPingfenByName() [評分] / String fw[福娃] / int 某變量 = 3
  • 代碼和注釋中都要避免使用任何語言的種族歧視性詞語。反例:RIBENGUIZI / Asan / blackList / whiteList / slave
  • 方法名、參數(shù)名、成員變量、局部變量都統(tǒng)一使用 lowerCamelCase 風(fēng)格。
  • 杜絕完全不規(guī)范的縮寫,避免望文不知義。反例:AbstractClass “縮寫”成 AbsClass;condition “縮寫”成 condi;Function 縮寫”成 Fu,此類隨意縮寫嚴(yán)重降低了代碼的可閱讀性。
  • 為了達(dá)到代碼自解釋的目標(biāo),任何自定義編程元素在命名時(shí),使用盡量完整的單詞組合來表達(dá)。
  • 在常量與變量的命名時(shí),表示類型的名詞放在詞尾,以提升辨識度。正例:startTime / workQueue / nameList / TERMINATED_THREAD_COUNT
  • 如果模塊、接口、類、方法使用了設(shè)計(jì)模式,在命名時(shí)需體現(xiàn)出具體模式。將設(shè)計(jì)模式體現(xiàn)在名字中,有利于閱讀者快速理解架構(gòu)設(shè)計(jì)理念。比如說:public class OrderFactory;public class LoginProxy;public class ResourceObserver;
  • 枚舉類名帶上 Enum 后綴,枚舉成員名稱需要全大寫,單詞間用下劃線隔開。枚舉其實(shí)就是特殊的常量類,且構(gòu)造方法被默認(rèn)強(qiáng)制是私有。比如說:枚舉名字為 ProcessStatusEnum 的成員名稱:SUCCESS / UNKNOWN_REASON。

“好了,三妹,關(guān)于 Java 中的命名約定就先說這么多吧,你平常在寫代碼的時(shí)候注意一下,養(yǎng)成好習(xí)慣。”轉(zhuǎn)動了一下僵硬的脖子后,我對三妹說。

“好的,二哥,你辛苦了,原來命名約定還有這么多說法,真的是你知道的越多,你不知道的越多啊。”

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 中文字幕一区二区三区乱码图片 | 亚洲视频www | 一区二区三区在线视频播放 | 日韩一区二区三区在线 | 成人在线观看网站 | 亚洲午夜视频 | 亚洲成av人片在线观看 | 国产在线91 | 激情欧美一区二区三区中文字幕 | 色网网站| 色天天综合久久久久综合片 | 四虎成人免费电影 | 精品国产成人 | 国产毛片毛片 | 国产精品剧情一区二区三区 | 野花国产精品入口 | 亚洲欧美福利视频 | 精品久久伊人 | 亚洲日本欧美日韩高观看 | 欧美色阁 | 黄色免费看片网站 | 日韩中文字幕视频 | 精品91久久 | 精品国产一二三区 | 久久国产精品无码网站 | 欧美日韩成人在线播放 | 免费看一级黄色片 | 亚洲成av人片在线观看 | av中文字幕在线播放 | www.99re| 亚洲视频在线免费观看 | 成人在线观看av | 精品国产乱码一区二区三区 | 国产干干干 | av成人一区二区 | 久久99这里只有精品 | 成人在线免费 | 一区二区视频 | 久久九九精品视频 | 免费成人在线观看视频 | 国产精品福利一区二区三区 |