保險(xiǎn)箱移動(dòng)端之web前端基礎(chǔ)規(guī)范

文件編碼約定

所有文件統(tǒng)一采用UTF-8無(wú)BOM編碼。

文件和目錄命名約定

一律小寫(xiě),必須是英文單詞或者漢語(yǔ)拼音,以英語(yǔ)單詞優(yōu)先,多個(gè)單詞以連字符 ( - ) 連接。只能出現(xiàn)小寫(xiě)引文字母,數(shù)字和連字符。

很多瀏覽器會(huì)將含有這些詞的作為廣告攔截: ad、ads、adv、banner、sponsor、gg、guangg、guanggao等 頁(yè)面中盡量避免采用以上詞匯來(lái)命名。

該命令規(guī)范適用于所有前端維護(hù)的內(nèi)容和相關(guān)目錄

標(biāo)簽語(yǔ)義化 html5元素

section 表示文檔中的節(jié)、區(qū)段,可以和h1-h6一起來(lái)顯示文檔結(jié)構(gòu)

article 表示一塊比較獨(dú)立的內(nèi)容或者主題內(nèi)容,塊級(jí)元素,比如blog的內(nèi)容,報(bào)紙的文章

aside 表示article以外的內(nèi)容,而且應(yīng)該和article有一定的關(guān)系,塊級(jí)元素

hgroup 表示一個(gè)文檔、區(qū)段(section)的標(biāo)題組合

header 表示頁(yè)眉,頁(yè)頭

footer 表示頁(yè)腳

nav 表示導(dǎo)航內(nèi)容

figure 表示以相對(duì)獨(dú)立的或外引的元素,如img video

figcaption 表示 figure內(nèi)容的標(biāo)題

id和class命名約定

id 和 class 的命名基本原則:內(nèi)容優(yōu)先,表現(xiàn)為輔。首先根據(jù)內(nèi)容來(lái)命名,如:#header,#footer,.main-nav.如根據(jù)內(nèi)容無(wú)法找到合適的命名,可以再結(jié)合表現(xiàn)進(jìn)行命名,如:col-main,col-sub,col-extra,blue-box

id 和 class 的名稱(chēng)一律小寫(xiě),多個(gè)單詞以連字符連接,如:main-wrap

id 和 class 的名稱(chēng)只能出現(xiàn),小寫(xiě)字母,數(shù)字和連字符( - )(js鉤子除外)

id 和 class 的名稱(chēng)盡量使用英文單詞命名,如確實(shí)找不到合適的單詞,可以使用拼音,如:zhidao-com

在不影響語(yǔ)意的情況下,id 和 class 的名稱(chēng) 可以適當(dāng)使用縮寫(xiě),如:col,nav,hd,bd,fd(縮寫(xiě)只用來(lái)表示結(jié)構(gòu),不允許寫(xiě)任何樣式)。不要自造縮寫(xiě)。

class 對(duì)于選中命名.selected;對(duì)于hover,支持偽類(lèi)使用:hover,不支持的使用.hover,隱藏使用.hide。

id 和 class 的選擇,如果只使用一次,使用id,如果使用多次使用class,如果需要和js交互,使用id,如果需要交互并且頁(yè)面中有大量重復(fù),請(qǐng)參見(jiàn)下一條。

對(duì)于作為js鉤子的 id 和 class 命名規(guī)則為以”J_“開(kāi)頭或者以"-hook"結(jié)尾(J,象形鉤子的形狀),加上原應(yīng)有的命名,在使用class的時(shí)候需要放在最前面。如:class="J_tab-content some-mod-content"。(注意:鉤子,不允許在css中定義任何的樣式效果)

很多瀏覽器會(huì)將含有這些詞的作為廣告攔截:ad、ads、adv、banner、sponsor、gg、guangg、guanggao等 頁(yè)面中盡量避免采用以上詞匯來(lái)命名。

CSS約定

1.頁(yè)面中不允許出現(xiàn)css內(nèi)容(包括行內(nèi)樣式和style)

2.避免使用通配規(guī)則

除了傳統(tǒng)意義的通配選擇符之外還包括相鄰兄弟選擇符, 子選擇符, 后代選擇符和屬性選擇符。推薦id、class和標(biāo)簽選擇符。

3.不要限定id選擇符

頁(yè)面中指定一個(gè)id只能對(duì)應(yīng)一個(gè)元素,所以沒(méi)有必要添加額外添加限定符,如:div#header,應(yīng)該簡(jiǎn)化為:#header(提權(quán)的除外)。

4.不要限定類(lèi)選擇器

不要用具體的標(biāo)簽限定類(lèi)選擇符,而是根據(jù)實(shí)際情況對(duì)類(lèi)名進(jìn)行擴(kuò)展。例如:ul.recommend,改成.recommend-list或者.list-recommend。

5.讓規(guī)則越具體越好

盡量不要使用ul li a這樣長(zhǎng)的選擇符,最好使用.list-anchor之類(lèi)的選擇符。

6.避免使用后代選擇符

通常處理后代選擇符開(kāi)銷(xiāo)最高,使用字選擇符更高效,最好使用下一條代替。

7.避免使用標(biāo)簽子選擇符

如果有如:#header > li > a,這樣基于子標(biāo)簽的自選擇符,那么應(yīng)該使用一個(gè)class來(lái)關(guān)聯(lián)每個(gè)元素如:.header-anchor。盡量使用具體的類(lèi)代替子選擇符。


JavaScript約定

1.函數(shù)和變量的命名

駝峰命名方式

2.常量

大寫(xiě)

3.文件注釋

文件注釋要標(biāo)明作者、文件版本、創(chuàng)建/修改時(shí)間、重大版本修改記錄

函數(shù)描述

文件版本、創(chuàng)建或者修改時(shí)間、功能、作者

4.在if判斷中,使用===作比較,避免掉入==造成的陷阱,對(duì)于不同類(lèi)型的==判斷,有這樣一些規(guī)則,順序自上而下:

1.undefined與null相等

2.一個(gè)是number一個(gè)是string時(shí),會(huì)嘗試將string轉(zhuǎn)換為number

3.嘗試將boolean轉(zhuǎn)換為number,0或1

4.嘗試將Object轉(zhuǎn)換成number或string,取決于另外一個(gè)對(duì)比量的類(lèi)型

簡(jiǎn)單類(lèi)型轉(zhuǎn)換

number to string的轉(zhuǎn)換,建議使用1 + ''或String(1),不使用new String(1)或1.toString()的方式。

string to number的轉(zhuǎn)換,建議使用parseInt,必須顯式指定第二個(gè)參數(shù)的進(jìn)制。下面的例子展示了不指定進(jìn)制的風(fēng)險(xiǎn):

parseInt('08');// 0 ? parseInt('08',10);//8

float to integer的轉(zhuǎn)換,建議使用Math.floor/Math.round/Math.ceil方法,不使用parseInt。

字符串拼接

字符串拼接,應(yīng)使用數(shù)組保存字符串片段,使用時(shí)調(diào)用join方法。避免使用+或+=的方式拼接較長(zhǎng)的字符串,每個(gè)字符串都會(huì)使用一個(gè)小的內(nèi)存片段,過(guò)多的內(nèi)存片段會(huì)影響性能。

零散想到的

img 請(qǐng)勿將img元素作為定位布局的工具,不要用他顯示空白圖片; 必要時(shí)給img元素增加alt屬性;

自己寫(xiě)的z-index的值不能超過(guò) 100 (通用組的除外),需要按照內(nèi)容定義1 2 3 4不允許直接使用如1000,9999


以上如有不對(duì)之處請(qǐng)指出。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,969評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類(lèi)相關(guān)的語(yǔ)法,內(nèi)部類(lèi)的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,767評(píng)論 18 399
  • 通用規(guī)范 tab鍵用兩個(gè)空格代替 因?yàn)樵诓煌到y(tǒng)的編輯工具對(duì)tab解析不一樣,windows下的tab鍵是占四個(gè)空...
    米塔塔閱讀 428評(píng)論 0 7
  • 通用規(guī)范 tab鍵用兩個(gè)空格代替 因?yàn)樵诓煌到y(tǒng)的編輯工具對(duì)tab解析不一樣,windows下的tab鍵是占四個(gè)空...
    戈薇薇閱讀 493評(píng)論 0 1
  • 大年初三,我繼續(xù)躺在床上用手機(jī)敲下這些文字,因?yàn)樯眢w原因,今年我還沒(méi)有出門(mén),還沒(méi)有看到過(guò)小區(qū)門(mén)口掛的大紅燈籠,也沒(méi)...
    笨小潔閱讀 820評(píng)論 2 2