前端代碼規範(阿里) --- Javascript

程序員寫好看的代碼,不亞於寫一行好看的字
好看的代碼總是讓人心曠神怡,
不好,不規範的代碼,讓人看了想說mmp,
那我們就來學習一下規範的代碼怎麼寫的吧

以下來自B站的學習視頻:前端必備-阿里大廠前端開發規範!

五、Javascript規範

(一) 命名

  • 採用小寫駝峯命名 lowerCameCase,代碼命名均不能以下劃線開頭,也不能以下劃線或美元符號結尾

反例:_name / name_ / name$

  • 方法名、參數名、成員變量、局部變量統一採用駝峯命名風格

正確命名:localValue / getHttpMessage()

錯誤命名:localvalue / gethttpmessage()

  • 方法名 必須是 動詞 或者 動詞+名詞 形式
  • 增刪查改,統一使用如下 5 個單詞
add  /  update  /  delete  /  get  /  detail

附:函數常用方法的動詞:

get 獲取       / set 設置
add 增加       / remove 刪除
create 創建    / destory 移除
start 啓動     / stop 停止
open 打開      / close 關閉
read 讀取      / write寫入
load 載入      / save 保存
begin 開始     / end 結束
backup 備份    / restore 恢復
import 導入    / export 導出
split 分割     / merge 合併
inject 注入    / extract 提取
  • 常量全部大寫,單詞之間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長

(二) 代碼格式

  • 使用兩個空格進行縮進
if (x < y) {
	x += 10;
} else {
	x += 1;
}
  • 不同邏輯,不同語義,不同業務之間插入一個空行分隔

(三) 字符串

統一使用單引號'',不使用雙引號"",這對創建HTML字符串非常有好處

let str = 'foo';
let testDiv = '<div id="test"></div>'

(四) 對象聲明

  • 使用字面量創建對象

推薦:

let user = [];

不推薦:

let user = new Object();
  • 使用字面量來代替對象構建器

推薦:

let user = {
	age: 0
}

不推薦:

let user = new Object();
user.age = 0;

(五) 優先使用ES6、ES7、ES8的語法

簡化程序,使代碼更加靈活和可複用

如:箭頭函數、await/async、解構、let、for…of 等

(六) 括號

下列關鍵詞必須有大括號(即使代碼只有一行):if / else / for / while / try / catch / finally / with

推薦:

if (isTrue) {
	doSomeThing();
}

不推薦:

if (isTrue) doSomeThing();

(七) undefined判斷

永遠不要直接使用undefined進行變量判斷;使用typeof 和字符串 'undefined'對變量進行判斷

推薦:

if (typeof person === 'undefined') {
	...
}

不推薦

if (person === undefined) {
	...
}

(八) 條件判斷和循環最多三層

條件判斷能使用 三目運算符 和 邏輯運算符的,就不要使用條件判斷。

如果超過三層的 ,抽成函數,並寫清楚註釋

(九) this的轉換命名

對上下文 this的引用只能使用 self來命名

let self = this;

(十) 慎用 console.log

console.log會有性能問題,生產環境下請清除console.log

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章