2019-06-23第二周周報(bào)-課堂筆記

js和css的代碼規(guī)范

一、為什么要有規(guī)范

要首先排除一個(gè)誤區(qū),規(guī)范是:

1、跟性能無(wú)關(guān)

2、跟功能無(wú)關(guān)

3、跟結(jié)果無(wú)關(guān)

所謂代碼規(guī)范是用來(lái)提高整個(gè)團(tuán)隊(duì)的開(kāi)發(fā)效率,減少溝通成本,統(tǒng)一化代碼編寫方案,減少團(tuán)隊(duì)gap,保留團(tuán)隊(duì)最佳實(shí)踐的團(tuán)隊(duì)建設(shè)的必須項(xiàng)之一。因此在制定規(guī)范之前,首先要明確規(guī)范是用來(lái)做什么的,確保團(tuán)隊(duì)成員心里能夠有完全按照規(guī)范編寫代碼的意識(shí)。

二、規(guī)范的特點(diǎn)

1、易讀性

這是規(guī)范首要追求的特性之一,易讀性是保證代碼可供團(tuán)隊(duì)快速,準(zhǔn)確閱讀的首要保障。是制定規(guī)范最重要的目標(biāo)。

保證代碼易讀性需要注意的方面:

空格:


又例如:

中?文English數(shù)字01混合時(shí)

中?文 English 數(shù)字 01 混合時(shí)

可見(jiàn)加了空格之后,代碼的結(jié)構(gòu)更清晰,視覺(jué)感受更優(yōu),更容易把兩者抽離出來(lái),提高代碼的可讀性。心理學(xué)有一個(gè)相關(guān)性的概念,就是說(shuō),如果兩個(gè)獨(dú)立的事物在很短的時(shí)間內(nèi)或者同時(shí)出現(xiàn),人們下意識(shí)的就會(huì)認(rèn)為這兩件事物是有相關(guān)性的。因此在代碼中,如果缺少空格,人眼就很容易將兩段不同的代碼認(rèn)為是相關(guān)的,這樣就需要?jiǎng)佑妙~外的精力去判斷兩段代碼之間的關(guān)系,造成不必要的成本。

空格的場(chǎng)景:注釋符號(hào)與注釋內(nèi)容之間,css和object屬性和屬性值之間,操作符 = + -? && || (or more)兩邊...等等。

編碼習(xí)慣:

編碼習(xí)慣是在保證易讀性的前提下,加入了團(tuán)隊(duì)和個(gè)人的一些特點(diǎn),所形成的一系列編碼規(guī)范。

比如一些css的屬性順序等。比如谷歌是按照屬性名的首字母進(jìn)行a-z的排序來(lái)編寫,有些是按照定位-布局-大小-內(nèi)容-修飾等分類來(lái)編寫。

每一種編碼習(xí)慣孰優(yōu)孰劣見(jiàn)仁見(jiàn)智,但只要保證整個(gè)團(tuán)隊(duì)有一致的編碼習(xí)慣就沒(méi)問(wèn)題。

代碼命名:

這是保證代碼易讀性里,最重要的事情之一,每個(gè)好的代碼規(guī)范都會(huì)對(duì)代碼命名有著嚴(yán)苛的要求,命名可以分為以下幾類:


例如

```

?myName = "";?

studentNames = [];?

class CollageStudent {};

WIDTH = 200; HEIGHT = 300;

handleButtonClick() {};

canDelete = false; hasCar = true;

obj.__setName = () => {} ;

```

其實(shí)在命名的時(shí)候,代碼的可讀性有時(shí)比代碼的簡(jiǎn)潔性更重要,比如createUserByNameAndEmail(name, email)這樣的函數(shù),盡管很長(zhǎng),但是一眼就容易讓人看懂這個(gè)函數(shù)的作用。

2. 精簡(jiǎn)

精簡(jiǎn)的目的是能省則省,例如google里面對(duì)CSS屬性值精簡(jiǎn)的例子:


例子太多,就不一一舉例子了。

3. 嚴(yán)謹(jǐn)

這幾年TS的火熱,又把靜態(tài)語(yǔ)言帶入到各個(gè)JS語(yǔ)言開(kāi)發(fā)者的視野當(dāng)中,TS由于它的類型檢查的機(jī)制,使得它對(duì)于一些核心業(yè)務(wù)代碼,框架,組件等嚴(yán)謹(jǐn)性要求比較高的場(chǎng)合更加適合,減少一些不必要bug。不過(guò)過(guò)于追求嚴(yán)謹(jǐn)也會(huì)給團(tuán)隊(duì)帶來(lái)不必要的麻煩,在大多數(shù)敏捷開(kāi)發(fā)的場(chǎng)合,動(dòng)態(tài)類型的JS更加適合。

三、最重要的一點(diǎn)

用什么代碼規(guī)范不重要,最重要的是,團(tuán)隊(duì)能夠統(tǒng)一代碼規(guī)范,能夠保證團(tuán)隊(duì)成員每個(gè)人能夠編寫出同樣規(guī)則的代碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什么是html? html是一種網(wǎng)頁(yè)標(biāo)記語(yǔ)言,叫超文本標(biāo)記語(yǔ)言,我們平時(shí)上網(wǎng)所看到的所有網(wǎng)頁(yè)均來(lái)自于html,英文...
    波段頂?shù)?/span>閱讀 8,621評(píng)論 2 7
  • 編寫靈活、穩(wěn)定、高質(zhì)量的 HTML 和 CSS 代碼的規(guī)范。 ------HTML------ 語(yǔ)法 用兩個(gè)空格來(lái)...
    littleyu閱讀 571評(píng)論 0 1
  • Web 前端代碼規(guī)范 最后更新時(shí)間:2017-06-25 原始文章鏈接:https://github.com/bx...
    白小明0927閱讀 2,608評(píng)論 1 15
  • 不想追熱點(diǎn),但周杰倫的歌確實(shí)給我們的青春寫下濃墨重彩的一筆。 有聽(tīng)過(guò)周董新歌的朋友可以在評(píng)論區(qū)討論下感受,或者說(shuō)一...
    夢(mèng)醒惜年閱讀 287評(píng)論 1 2
  • 再過(guò)一段時(shí)間,一年就又過(guò)去啦,可二貨哥口袋還是空空的。 今天他找路邊大師算了一卦。大師掐指一算,點(diǎn)頭嘖嘖說(shuō)到:“不...
    老羅xt閱讀 348評(píng)論 0 2

友情鏈接更多精彩內(nèi)容