簡單模式書寫js

JS是一門極其靈活的腳本語言墅诡,我認為其靈活性在迅捷開發(fā)中有極大的優(yōu)越性竿秆。極簡主義代碼規(guī)范放大了這一優(yōu)越性规求,使得小應用、小模塊的開發(fā)盡可能的清晰快速佑女,同時也不對團隊協(xié)作造成特別巨大的影響记靡。
極簡主義代碼規(guī)范的基本方案是:能省則省,即:如果存在語法糖可以簡寫团驱,則必須簡寫摸吠。
例子

const isPrime = x => {
  for (let i = 1; i <= Math.sqrt(x); i++) {
    if (x % i === 0) return false
  }
  return true
}

const add = (x, y) => x + y

// show codes
function main () {
  const obj = { a: 1, b: 2, add }
  const anotherObject = {
    hello: 'world!',
    hi: 'haha',
    isPrime, // only property name
  }
  console.log(obj.add(obj.a, obj.b))
  if (isPrime(5)) {
    console.log('prime')
  } else {
    console.log('not prime')
  }
}

基本

2個空格縮進(與HTML,CSS一致)嚎花,必須正確縮進
分號寸痢、逗號之后必須空格或轉行
左大括號不轉行
左大括號之前一定有空格
若左右大括號在一行,則大括號內側必須有空格紊选。例如

const obj = { a: 1, b: 2 }

指令(例如if轿腺、return等)后一定有空格
雙目運算符前后必須有空格
非必要不寫分號(無行末分號)
使用單引號表示字符串(單引號比雙引號簡單)

變量

不使用var两嘴,沒有顯式賦值的變量必須用const,其余用let
允許多個變量共用聲明和初始化語句族壳,逗號隔開憔辫,但不能太長。例如:

const a = 1, b = 2

變量名原則上使用小駝峰命名法(首字母小寫仿荆,其余單詞首字母大寫)贰您,例如userInfo
局部變量或臨時變量允許簡寫變量名,例如在一個小函數中允許使用p指代period
非特殊場景下拢操,變量名不得使用下劃線
對象內容很短時锦亦,可以在一行內完成
對象的最后一個成員后,不得添加逗號
對象成員變量賦值時令境,若屬性名稱和讀取的變量名一致杠园,則必須簡寫。即

const obj = { token: token }必須簡寫為const obj = { token }

控制

if舔庶、else抛蚁、for的執(zhí)行語句塊很短時,可以在行內完成惕橙,不必大括號展開瞧甩。若換行,必須大括號展開弥鹦。
else應該與if的右大括號在同一行肚逸,此時else前后都有空格,即} else {彬坏。
盡可能使用邏輯截斷break朦促、return等,減少else的使用栓始。

函數

函數定義時(函數頭部)參數表前后都有空格思灰。例如:

function isPrime (x) {}

函數調用時,函數名和參數表之間沒有空格混滔。例如isPrime(5)
若箭頭函數有且僅有一個參數洒疚,則參數表的小括號可以省略∨饔欤基于能省則省的原則油湖,此時小括號必須省略。例如:

const print = msg => {
  console.log(msg)
}

若箭頭函數直接返回計算值领跛,則必須省略為如下形式:

const sqr = x => x * x

注釋

注釋不要太多乏德,不要啰嗦,寫有價值、代碼里面沒有的內容喊括。
注釋雙斜杠后有一個空格// this is a comment
若所在行有代碼胧瓜,雙斜杠前也有空格
原則上使用英文注釋
對于接口函數等需要詳細注釋的內容,參考具體的接口文檔要求

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末郑什,一起剝皮案震驚了整個濱河市府喳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蘑拯,老刑警劉巖钝满,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異申窘,居然都是意外死亡弯蚜,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門剃法,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碎捺,“玉大人,你說我怎么就攤上這事贷洲∈粘” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵恩脂,是天一觀的道長帽氓。 經常有香客問我趣斤,道長俩块,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任浓领,我火速辦了婚禮玉凯,結果婚禮上,老公的妹妹穿的比我還像新娘联贩。我一直安慰自己漫仆,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布泪幌。 她就那樣靜靜地躺著盲厌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祸泪。 梳的紋絲不亂的頭發(fā)上吗浩,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音没隘,去河邊找鬼懂扼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的阀湿。 我是一名探鬼主播赶熟,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼陷嘴!你這毒婦竟也來了映砖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤罩旋,失蹤者是張志新(化名)和其女友劉穎啊央,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體涨醋,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡瓜饥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了浴骂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乓土。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖溯警,靈堂內的尸體忽然破棺而出趣苏,到底是詐尸還是另有隱情,我是刑警寧澤梯轻,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布食磕,位于F島的核電站,受9級特大地震影響喳挑,放射性物質發(fā)生泄漏彬伦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一伊诵、第九天 我趴在偏房一處隱蔽的房頂上張望单绑。 院中可真熱鬧,春花似錦曹宴、人聲如沸搂橙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽区转。三九已至,卻和暖如春版扩,著一層夾襖步出監(jiān)牢的瞬間废离,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工资厉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厅缺,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像湘捎,于是被迫代替她去往敵國和親诀豁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容