JavaScript 命名規範

admin發表於2019-02-08

人與人交往中,有一個常見的溝通媒介就是名片。

也許與此人從未謀面,但是通過名片可以獲取此人的一些資訊,比如職位或它在工作中的角色。

程式設計中也是如此,成員良好的命名有利於程式碼的後期維護和團隊開發,看到名稱我們大致可以獲取如下資訊:

(1).成員的角色,比如是普通變數還是常量。

(2).成員的作用,通過名稱體現它的功能。

如果沒有規則的隨意命名,那麼我們看到的不僅僅是程式碼,在一定程度上可以說是密碼。

一.三種命名規範簡介:

當前有三種非常流行的命名規範,下面對它的命名規則進行簡單介紹。

1.駝峰命名:

當名稱由多個單詞構成時,為了便於識別,遵循如下規則:

(1).第一個單詞首字母小寫。

(2).第一個單詞之後的所有單詞首字母大寫。

簡單演示如下:

[JavaScript] 純文字檢視 複製程式碼
let loadingModules ={}

從外觀看,叫做駝峰命名也算是恰如其分,英文名稱是Camel。

2.匈牙利命名法:

此命名法是微軟公司推廣的命名規範,主要原則如下:

(1).在名稱前面新增一個或者多個小寫的字首,此字首傳達一定資訊,比如g表是全域性成員,c表示常量等。

(2).字首之後是首字母為大寫的一個或者多個單詞的組合,用於說明成員的作用。

簡單演示如下:

[JavaScript] 純文字檢視 複製程式碼
g_Servers
CPrintInfo

可以看到字首可以帶有下劃線,也可以不帶,根據自己或者團隊的實際需求。

3.帕斯卡命名法:

與駝峰命名法基本是一樣的,只是第一個單詞的首字母也要大寫。

[JavaScript] 純文字檢視 複製程式碼
let LoadingModules ={}

二.JavaScript不同型別成員命名規則:

下面進入正題,介紹一下JavaScript不同型別成員命名的一些規範。

在強調一下,下面所介紹的命名規範都是最佳時間,並不是語法規則,沒有必要嚴格遵守,只是建議,具體的命名還需要根據個人或者團隊的需要,但是隻要規則一旦制定,務必執行到底。

(1).變數命名:

使用駝峰命名發,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let webName="螞蟻部落";
let address='青島市南區';

(2).私有成員命名:

如果是私有成員,比如私有變數、方法或者屬性,通常以下劃線開頭。

簡單程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let _privateMethod = function(){
  // code
}

(3).常量:

常量名稱全部用大寫形式,如果有多個單詞構成,使用下劃線分隔。

簡單程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let HTML_ENTITY = {};

(4).函式命名:

用作普通函式,那麼採用駝峰命名法,如果用作建構函式或者類那麼採用帕斯卡命名法。

函式的引數使用駝峰命名法,類中的方法與屬性也採用駝峰命名法。

簡單程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function Antzone(webName, address) {
    this.webName = webName;
    this.address = address;
    this.show=function(){
      // code
    }
}

(5).列舉命名:

當前,JavaScript並沒有列舉這個概念,在實際程式設計中可能會根據需要模擬實現。

又或者,在ts等類似語言中實現,列舉變數名稱採用帕斯卡命名法,列舉的成員屬性全部採用大寫形式。

簡單程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
let TargetState = {
    READING: 1,
    READED: 2,
    APPLIED: 3,
    READY: 4
};

(6).多個單詞的縮寫:

很多時候,一些成員的名稱中,有一部分是多個單詞的縮寫形式。

那麼此時,根據你所應用的命名法,和其所出現的位置,大小寫形式與第一個字母的大小寫一致。

上面的闡述可能令人一頭霧水,看下面簡單的程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
function XMLParser() {}
function insertHTML() {}

XMLParser採用帕斯卡命名法,XML是三個單詞的縮寫,第一個X是大寫,那麼後面的ml也需要和X一致。

insertHTML採用駝峰命名法,HTML是四個單詞的縮寫,第一個H是大寫,那麼後面的tml也需要保持一致。

相關文章