JavaScript 命名規範
人與人交往中,有一個常見的溝通媒介就是名片。
也許與此人從未謀面,但是通過名片可以獲取此人的一些資訊,比如職位或它在工作中的角色。
程式設計中也是如此,成員良好的命名有利於程式碼的後期維護和團隊開發,看到名稱我們大致可以獲取如下資訊:
(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也需要保持一致。
相關文章
- 命名規範
- BEM命名規範
- Python命名規範Python
- java命名規範Java
- PHP 命名規範PHP
- Android命名規範Android
- Google命名規範Go
- 『前端規範化』CSS命名規範化前端CSS
- CSS — BEM 命名規範CSS
- 前端命名基本規範前端
- 數倉命名規範大全!
- Java中的命名規範。Java
- 前端規範之javascript規範前端JavaScript
- css命名和書寫規範CSS
- CSS 選擇器命名規範CSS
- 我的專案命名規範
- C#開發命名規範C#
- BEM命名規範結合SCSSCSS
- Golang 推薦的命名規範Golang
- 檔案/資源命名規範
- css書寫和命名規範CSS
- MAVEN 與 JAVA 包命名規範MavenJava
- Laravel命名規範速查表Laravel
- 軟體版本命名規範
- BEM命名規範入門及常用CSS class 命名CSS
- 阿里Android開發規範:資原始檔命名與使用規範阿里Android
- 程式設計命名規範(網文)程式設計
- 識別符號的命名規則和規範符號
- web前端介面切圖命名規範方法Web前端
- 【學習筆記】之:Java命名規範筆記Java
- Golang學習筆記(一):命名規範Golang筆記
- go——識別符號的命名規範Go符號
- 資料庫表欄位命名規範資料庫
- JavaScript 註釋規範JavaScript
- Javascript編碼規範JavaScript
- CSS命名規範和模組化的思考CSS
- 用BEM命名規範組織CSS程式碼CSS
- JavaScript模組化規範JavaScript