最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

六星教育:程序員必知的常見(jiàn)命名方法

2023-08-01 10:11 作者:六星教育  | 我要投稿

軟件開(kāi)發(fā)中,命名無(wú)處不在。

比如我們需要對(duì)項(xiàng)目命名、目錄命名、文件命名、類命名、變量命名,還有其他類型的資源等等。那么取名時(shí),業(yè)界有哪些命名方法呢?

本文六星教育將列舉常見(jiàn)的命名方法,沒(méi)有孰優(yōu)孰劣,每種都有其各自的使用場(chǎng)景。至于項(xiàng)目中采取哪種命名方法,不同的公司團(tuán)隊(duì),不同的編程語(yǔ)言,不同的技術(shù)領(lǐng)域均不盡相同。我們需要堅(jiān)持的一點(diǎn)就是統(tǒng)一至上。

統(tǒng)一的命名風(fēng)格可以提高源碼的易讀性和可維護(hù)性,幫助團(tuán)隊(duì)開(kāi)發(fā)出風(fēng)格統(tǒng)一的代碼,使代碼更加整潔。

01、駝峰式

駝峰命名法(Camel Case)不同單詞之間沒(méi)有分隔符,采用大小寫混合的方式區(qū)分不同單詞。

1.小駝峰

如果第一個(gè)單詞首字母小寫,稱為小駝峰(camelCase)。

2.大駝峰

如果第一個(gè)單詞首字母大寫,稱為大駝峰(CamelCase)。


注意:大駝峰命名法還有一個(gè)名字,叫 Pascal 命名法。這是因?yàn)樵撁?guī)范最早由 Niklaus Wirth 在 1970 年代提出,以紀(jì)念法國(guó)數(shù)學(xué)家和物理學(xué)家 Blaise Pascal(1623年-1662年)。Pascal 是一位重要的數(shù)學(xué)家和自然科學(xué)家,對(duì)于概率論、流體力學(xué)和計(jì)算器的發(fā)明有重要貢獻(xiàn)。

駝峰式是一種非常流行的將單詞組合成單個(gè)概念的方式。在許多語(yǔ)言中(如 Java、JavaScript、C#),小駝峰常被用來(lái)命名局部變量和函數(shù),大駝峰常用來(lái)命名全局變量和類。

02、蛇形式

蛇形命名法(Snake Case)使用下劃線分隔不同單詞。

1.小蛇式

如果所有單詞都小寫,稱為小蛇式(snake_case)。

小蛇式通常用于聲明數(shù)據(jù)庫(kù)字段名。此外,URL 參數(shù)一般也使用 snake_case。在某些 API 設(shè)計(jì)中,如果要將參數(shù)值直接表示在 URL 中,可以使用 snake_case。例如 https://api.example.com/users?sort_order=desc。

2.大蛇式

如果所有單詞都大寫,稱為大蛇式(SCREAMING_SNAKE_CASE)。

之所以加個(gè) screaming,因?yàn)樵谟⑽闹?,如果一個(gè)單詞全部大寫,表示大聲喊叫,引起他人的注意。

大蛇式通常用于宏定義和被許多語(yǔ)言用來(lái)命名常量。

3.帕斯卡蛇形式

如果所有單詞首字母都大寫,稱為帕斯卡蛇形式(Pascal_Snake_Case)。

Pascal_Snake_Case 是將兩種命名方式組合而成的一種命名風(fēng)格。它是由 Pascal Case(帕斯卡命名法)和 Snake Case(蛇形命名法)組合而成。

這種命名方式在實(shí)際開(kāi)發(fā)中較少使用,因?yàn)樗鼘煞N不同的命名風(fēng)格結(jié)合在一起,可能會(huì)導(dǎo)致命名混亂,降低代碼的可讀性和一致性。

03、烤串式

烤串命名法(Kebab Case)使用中劃線分隔不同單詞。

烤串命名法使用中劃線連接多個(gè)單詞,從而形成一個(gè)字符串。由于這種連接方式形象地類似于烤肉串,因此取名為烤串命名法。

1.小烤串式

如果所有單詞都小寫,稱之為小烤串式(kebab-case)。

小烤串式在 Lisp 編程語(yǔ)言中經(jīng)常被用到,所以有時(shí)也叫做 lisp-case。

URL 路徑中經(jīng)常使用小烤串式。例如 www.blog.com/cool-article-1。這是一種很好的、干凈的、可讀的單詞組合方式。

我們?cè)?K8S 的資源配置文件中也會(huì)看到 kebab-case。

此外,在 CSS 中,所有屬性名稱和大多數(shù)關(guān)鍵字值也主要采用 kebab-case 格式。

2.大烤串式

如果所有單詞都大寫,稱之為大烤串式(SCREAMING-KEBAB-CASE)。

大烤串式主要用于突出強(qiáng)調(diào)被命名的對(duì)象,古老的 Cobol 編程語(yǔ)言中經(jīng)常使用,所以有時(shí)也被稱為 COBOL-CASE。

3.HTTP?頭式

如果所有單詞首字母都大寫,稱之為 HTTP 頭式(HTTP-Header-Case)。

因?yàn)?HTTP 頭部字段的命名使用這種方式,所以稱之為 HTTP 頭式,如 Content-Type、User-Agent 等。

04、匈牙利命名法

匈牙利命名法(Hungarian notation)是早期的規(guī)范,由微軟程序員查爾斯-西蒙尼(Charles Simonyi)發(fā)明,因其為匈牙利人,故被稱為匈牙利命名法。

匈牙利命名法要求標(biāo)識(shí)符使用一個(gè)小寫前綴來(lái)表示變量的類型或用途。按照在微軟中的使用場(chǎng)景,分為匈牙利應(yīng)用命名法和匈牙利系統(tǒng)命名法。

匈牙利應(yīng)用命名法指在微軟軟件產(chǎn)品中使用的匈牙利命名法,比如 Word、Excel 和其他應(yīng)用程序。

匈牙利系統(tǒng)命名法是指在 Windows 操作系統(tǒng)中使用的匈牙利命名法,因? Windows API 而被大家熟知。

匈牙利系統(tǒng)命名法在匈牙利應(yīng)用命名法之后出現(xiàn),二者的區(qū)別主要在于前綴的目的不同。

系統(tǒng)匈牙利命名法的前綴主要用于表示變量的物理類型。

還有其他更多的前綴是根據(jù)微軟自己的 MFC/句柄/控件/結(jié)構(gòu)等東西定義的,就不過(guò)多描述了。

匈牙利應(yīng)用命名法的前綴主要目的是力求對(duì)邏輯數(shù)據(jù)類型而非物理數(shù)據(jù)類型進(jìn)行編碼,也就是提示變量的目的是什么,或者它代表什么。

Simonyi 提出的大多數(shù)(但不是全部)前綴本質(zhì)上是語(yǔ)義的,現(xiàn)在來(lái)看,一些前綴也表示物理數(shù)據(jù)類型,例如以 Null 做結(jié)尾的字符串使用 sz 前綴。然而,這些前綴仍然是語(yǔ)義上的,因?yàn)?Simonyi 的想法是使用語(yǔ)義化的前綴來(lái)表示變成語(yǔ)言的類型系統(tǒng)無(wú)法表達(dá)的邏輯上數(shù)據(jù)類型。

Simonyi 建議的大多數(shù)前綴都是自然語(yǔ)義的,但不是所有。下面幾個(gè)是來(lái)自微軟官方文檔。

https://learn.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-6.0/aa260976(v=vs.60)

  • pX 指向另一個(gè)X類型的指針,這包含非常少的語(yǔ)義信息。

  • d 是一個(gè)前綴表示兩個(gè)值的區(qū)別,例如,dY可能代表一個(gè)圖形沿Y軸的距離,而一個(gè)僅僅叫做y的變量可能是一個(gè)絕對(duì)坐標(biāo)。這完全是自然語(yǔ)義的。

  • sz 是一個(gè)無(wú)結(jié)束或零結(jié)束的字符串。在 C 中,這包含一些語(yǔ)義信息,因?yàn)镃語(yǔ)言的char*類型的變量不確定是一個(gè)指向單個(gè)字符的指針,還是一個(gè)字符數(shù)組,或是一個(gè)零結(jié)束字符串。

  • w 標(biāo)記一個(gè)變量是一個(gè)字。這基本上沒(méi)有包含什么語(yǔ)義信息,因此可以被看作一種匈牙利系統(tǒng)命名法。

  • b 表示一個(gè)字節(jié),和w對(duì)比可能有一些語(yǔ)義信息,因?yàn)镃語(yǔ)言中,只有char型(以及signed/unsigned char)是一個(gè)字節(jié)長(zhǎng)的,這些類型有時(shí)候被用來(lái)保存數(shù)值而非字符。這個(gè)前綴可以明確某個(gè)變量保存的是字符還是數(shù)值。

在使用匈牙利應(yīng)用命名法的代碼中有時(shí)候也可能包含匈牙利系統(tǒng)命名法,即在描述被單獨(dú)以類型方式定義的變量時(shí)使用。

匈牙利命名法在 C++ 中被擴(kuò)展而包含變量的作用域,由一個(gè)下劃線隔開(kāi)。

匈牙利命名法是一個(gè)十分復(fù)雜繁瑣的命名規(guī)范,它誕生在 IDE 還不夠發(fā)達(dá)的年代。在那個(gè)年代,當(dāng)代碼量很多的時(shí)候,想要確定一個(gè)變量的類型很麻煩,不像現(xiàn)在 IDE 都會(huì)給提示,所以才產(chǎn)生了匈牙利命名法,現(xiàn)在已經(jīng)很少使用了。

05、小結(jié)

除了文中介紹的常見(jiàn)命名法,如果要連接的單詞簡(jiǎn)短且數(shù)量不多的情況下(比如2個(gè)),直接全小寫拼接或全大寫拼接也未嘗不可,比如 filepath 和 FILEPATH。

面對(duì)眾多的命名方法,我們要知道沒(méi)有最好的命名方法,就像沒(méi)有最好的編程語(yǔ)言一樣。

如果一個(gè)團(tuán)隊(duì)在命名方法上保持一致,那么選擇使用哪個(gè)命名方法并非那么重要,當(dāng)然最好要和業(yè)界做法保持一致。

以上就是本次分享的全部?jī)?nèi)容,想學(xué)習(xí)更多編程技巧,歡迎持續(xù)關(guān)注六星教育!

六星教育:程序員必知的常見(jiàn)命名方法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
怀柔区| 西峡县| 河东区| 紫阳县| 手游| 任丘市| 龙江县| 临洮县| 灵川县| 巴中市| 凤城市| 江孜县| 称多县| 建平县| 云阳县| 梅州市| 临朐县| 秦安县| 齐河县| 阜新市| 台安县| 建阳市| 定陶县| 瓦房店市| 衡阳市| 上栗县| 定边县| 和林格尔县| 漾濞| 蓬安县| 邹城市| 霞浦县| 萨嘎县| 浠水县| 家居| 龙口市| 瓦房店市| 大石桥市| 长葛市| 武宣县| 香港|