您當前的位置:首頁 > 攝影

web前端中的命名規則

作者:由 mdcc 發表于 攝影時間:2016-09-08

規範目的

為提高團隊協作效率, 便於後臺人員新增功能及前端後期最佳化維護, 輸出高質量的文件, 特制訂此文件。 本規範文件一經確認,

前端開發人員必須按本文件規範進行前臺頁面開發。 本文件如有不對或者不合適的地方請及時提出, 經討論決定後方可更改。

基本準則

符合web標準, 語義化html, 結構表現行為分離, 相容性優良。 頁面效能方面, 程式碼要求簡潔明瞭有序, 儘可能的減小伺服器負載, 保證最快的解析速度。

檔案規範

1。 html, css, js, images檔案均歸檔至<系統開發規範>約定的目錄中;

2。 html檔案命名: 英文命名, 字尾。htm。 同時將對應介面稿放於同目錄中, 若介面稿命名為中文, 請重新命名與html檔案同名, 以方便後端新增功能時查詢對應頁面;

3。 css檔案命名: 英文命名, 字尾。css。 共用base。css, 首頁index。css,

其他頁面依實際模組需求命名。;

4。 Js檔案命名: 英文命名, 字尾。js。 共用common。js, 其他依實際模組需求命名。

html書寫規範

1。 文件型別宣告及編碼: 統一為html5宣告型別<!DOCTYPE html>; 編碼統一為

charset=“gbk” />, 書寫時利用IDE實現層次分明的縮排;

2。 非特殊情況下樣式檔案必須外鏈至。。。之間;非特殊情況下JavaScript檔案必須外鏈至頁面底部;

3。 引入樣式檔案或JavaScript檔案時, 須略去預設型別宣告, 寫法如下:

/>

4。 引入JS庫檔案, 檔名須包含庫名稱及版本號及是否為壓縮版, 比如jquery-1。4。1。min。js; 引入外掛, 檔名格式為庫名稱+外掛名稱, 比如jQuery。cookie。js;

5。 所有編碼均遵循xhtml標準, 標籤 & 屬性 & 屬性命名 必須由小寫字母及下劃線數字組成, 且所有標籤必須閉合, 包括 br


), hr(


)等; 屬性值必須用雙引號包括;

6。 充分利用無相容性問題的html自身標籤, 比如span, em, strong, optgroup, label,等等; 需要為html元素新增自定義屬性的時候, 首先要考慮下有沒有預設的已有的合適標籤去設定, 如果沒有, 可以使用須以“data-”為字首來新增自定義屬性,避免使用“data:”等其他命名方式;

7。 語義化html, 如 標題根據重要性用h*(同一頁面只能有一個h1), 段落標記用p, 列表用ul, 內聯元素中不可巢狀塊級元素;

8。 儘可能減少div巢狀, 如

class=“welcome”>歡迎訪問XXX, 您的使用者名稱是

使用者名稱
完全可以用以下程式碼替代:

歡迎訪問XXX, 您的使用者名稱是使用者名稱

9。 書寫連結地址時, 必須避免重定向,例如:href=“

http://

itaolun。com/

”,

即須在URL地址後面加上“/”;

10。 在頁面中儘量避免使用style屬性,即style=“…”;

11。 必須為含有描述性表單元素(input, textarea)新增label,

姓名:

type=“text” id=“name” name=“name” />

須寫成:

/>

12。 能以背景形式呈現的圖片, 儘量寫入css樣式中;

13。 重要圖片必須加上alt屬性; 給重要的元素和截斷的元素加上title;

14。 給區塊程式碼及重要功能(比如迴圈)加上註釋, 方便後臺新增功能;

15。 特殊符號使用: 儘可能使用程式碼替代: 比如 <(<) & >(>;) & 空格( )

& »(») 等等;

16。 書寫頁面過程中, 請考慮向後擴充套件性;

17。 class & id 參見 css書寫規範。

css書寫規範

1。 編碼統一為utf-8;

2。 協作開發及分工: i會根據各個模組, 同時根據頁面相似程式, 事先寫好大體框架檔案, 分配給前端人員實現內部結構&表現&行為; 共用css檔案base。css由i書寫, 協作開發過程中, 每個頁面請務必都要引入, 此檔案包含reset及頭部底部樣式, 此檔案不可隨意修改;

3。 class與id的使用: id是唯一的並是父級的, class是可以重複的並是子級的, 所以id僅使用在大的模組上, class可用在重複使用率高及子級中; id原則上都是由我分發框架檔案時命名的, 為JavaScript預留鉤子的除外;

4。 為JavaScript預留鉤子的命名, 請以 js_ 起始, 比如:

js_hide, js_show;

5。 class與id命名: 大的框架命名比如header/footer/wrapper/left/right之類的在2中由i統一命名。其他樣式名稱由 小寫英文

& 數字 & _ 來組合命名, 如i_comment, fontred, width200; 避免使用中文拼音, 儘量使用簡易的單詞組合; 總之, 命名要語義化, 簡明化。

6。 規避class與id命名(此條重要, 若有不明白請及時與i溝通):

a) 透過從屬寫法規避, 示例見d;

b)取父級元素id/class命名部分命名, 示例見d;

c)重複使用率高的命名, 請以自己代號加下劃線起始, 比如i_clear;

d)a,b兩條, 適用於在2中已建好框架的頁面, 如, 要在2中已建好框架的頁面程式碼

id=“mainnav”>

中加入新的div元素,

按a命名法則:

id=“mainnav”>

class=“firstnav”>。。。

樣式寫法: #mainnav 。firstnav{……。}

按b命名法則:

id=“mainnav”>

class=“main_firstnav”>。。。,

樣式寫法: 。main_firstnav{……。}

7。 css屬性書寫順序, 建議遵循: 佈局定位屬性——>自身屬性——>文字屬性——>其他屬性。

此條可根據自身習慣書寫, 但儘量保證同類屬性寫在一起。 屬性列舉: 佈局定位屬性主要包括: display & list-style &

position(相應的 top,right,bottom,left) & float & clear & visibility & overflow; 自身屬性主要包括: width & height &

margin & padding & border & background; 文字屬性主要包括:color & font & text-decoration & text-align &

vertical-align & white- space & 其他 &

content; 我所列出的這些屬性只是最常用到的, 並不代表全部;

8。 書寫程式碼前, 考慮並提高樣式重複使用率;

9。 充分利用html自身屬性及樣式繼承原理減少程式碼量, 比如:

定義

ul。list li{position:relative}

ul。list li span{position:absolute; right:0}

即可實現日期居右顯示

10。 樣式表中中文字型名, 請務必轉碼成unicode碼, 以避免編碼錯誤時亂碼;

11。 背景圖片請儘可能使用sprite技術, 減小http請求, 考慮到多人協作開發,

sprite按模組製作;

12。 使用table標籤時(儘量避免使用table標籤), 請不要用width/

height/cellspacing/cellpadding等table屬性直接定義表現, 應儘可能的利用table自身私有屬性分離結構與表現 , 如thead,tr,th,td,tbody,tfoot,colgroup,scope;

(cellspaing及cellpadding的css控制方法:table{border:0;margin:0;border-collapse:collapse;} table th, table

td{padding:0;}, base。css檔案中我會初始化表格樣式)

13。 杜絕使用

content=“IE=7” /> 相容 ie8;

14。 用png圖片做圖片時, 要求圖片格式為png-8格式,若png-8實在影響圖片質量或其中有半透明效果, 請為ie6單獨定義背景:

_background:none;_filter:progid:DXImageTransform。Microsoft。AlphaImageLoader

(sizingMethod=crop, alt="web前端中的命名規則" data-isLoading="0" src="/static/img/blank.gif" data-src=’img/bg。png’);

15。 避免相容性屬性的使用, 比如text-shadow ||

css3的相關屬性;

16。 減少使用影響效能的屬性, 比如position:absolute

|| float ;

17。 必須為大區塊樣式添加註釋, 小區塊適量註釋;

18。 程式碼縮排與格式: 建議單行書寫, 可根據自身習慣, 後期最佳化i會統一處理;

JavaScript書寫規範

1。 檔案編碼統一為utf-8, 書寫過程過, 每行程式碼結束必須有分號; 原則上所有功能均根據XXX專案需求原生開發, 以避免網上down下來的程式碼造成的程式碼汙染(沉冗程式碼 || 與現有程式碼衝突 ||

。。。);

2。 庫引入: 原則上僅引入jQuery庫, 若需引入第三方庫, 須與團隊其他人員討論決定;

3。 變數命名: 駝峰式命名。 原生JavaScript變數要求是純英文字母, 首字母須小寫, 如iTaoLun;

jQuery變數要求首字元為‘_’, 其他與原生JavaScript

規則相同, 如: _iTaoLun;

另, 要求變數集中宣告, 避免全域性變數。

4。 類命名: 首字母大寫, 駝峰式命名。 如 ITaoLun;

5。 函式命名: 首字母小寫駝峰式命名。 如iTaoLun();

6。 命名語義化, 儘可能利用英文單詞或其縮寫;

7。 儘量避免使用存在相容性及消耗資源的方法或屬性, 比如eval_r()

& innerText;

8。 後期最佳化中, JavaScript非註釋類中文字元須轉換成unicode編碼使用, 以避免編碼錯誤時亂碼顯示;

9。 程式碼結構明瞭, 加適量註釋。 提高函式重用率;

10。 注重與html分離, 減小reflow, 注重效能。

圖片規範

1。 所有頁面元素類圖片均放入img資料夾, 測試用圖片放於img/demoimg資料夾;

2。 圖片格式僅限於gif || png || jpg;

3。 命名全部用小寫英文字母 || 數字 || _ 的組合,其中不得包含漢字 || 空格 || 特殊字元;儘量用易懂的詞彙, 便於團隊其他成員理解; 另, 命名分頭尾兩部分, 用下劃線隔開, 比如ad_left01。gif

|| btn_submit。gif;

4。 在保證視覺效果的情況下選擇最小的圖片格式與圖片質量, 以減少載入時間;

5。 儘量避免使用半透明的png圖片(若使用, 請參考css規範相關說明);

6。 運用css sprite技術集中小的背景圖或圖示, 減小頁面http請求, 但注意, 請務必在對應的sprite psd源圖中劃參考線, 並儲存至img目錄下。

註釋規範

1。 html註釋: 註釋格式 <!——這兒是註釋——>, ‘——’只能在註釋的始末位置,不可置入註釋文字區域;

2。 css註釋: 註釋格式 ;

3。 JavaScript註釋, 單行註釋使用‘//這兒是單行註釋’ ,多行註釋使用 ;

開發及測試工具約定

建議使用Aptana || Dw || Vim , 亦可根據自己喜好選擇, 但須遵循如下原則:

1。 不可利用IDE的檢視模式‘畫’程式碼;

2。 不可利用IDE生成相關功能程式碼, 比如Dw內建的一些功能js;

3。 編碼必須格式化, 比如縮排;

測試工具: 前期開發僅測試FireFox & IE6 & IE7 &

IE8 , 後期最佳化時加入Opera & Chrome & Safari;

建議測試順序: FireFox——>IE7——>IE8——>IE6——>Opera——>Chrome——>Safari,

建議安裝firebug及IE Tab Plus外掛。

其他規範

1。 開發過程中嚴格按分工完成頁面, 以提高css複用率, 避免重複開發;

2。 減小沉冗程式碼, 書寫所有人都可以看的懂的程式碼。 簡潔易懂是一種美德。 為使用者著想, 為伺服器著想。

標簽: 命名  CSS  屬性  頁面  id 

上一篇:Leetcode 二叉樹中的最大路徑和(hard)-JavaScript 解法

下一篇:超高度近視(1000度)戴眼鏡看不清小字正常嗎?

猜你喜歡