1. 程式人生 > >優秀的編碼習慣

優秀的編碼習慣

此文為本人記錄文,記錄在開發過程中一些注意事項和他人建議,不定時更新。

(適用於:初踏入前端開發行業人群)

1、註釋

html中:

<body>

    <!--header一般用於LOGO,導航nav     body用於頁面的主要部分    footer底部,如友情連結,網站基本資訊    goTop有的網頁有跳轉到最上面的模組-->

    <!-- start header-->

    <!-- end header-->

    <!-- start body-->

    <!-- end body-->

    <!-- start goTop-->

    <!-- end goTop-->

    <!-- start footer-->

    <!-- end footer-->
</body>

css中也同樣需要標註當前是某個模組

每個模組註釋

/*

XXXXXXX(功能)

XXX(人名)

2015-11-11(時間)

*/

2、css放在HTML上面,JS程式碼放在HTML下面。

避免載入html時出現無樣式。先將網頁呈現給使用者,再來載入頁面的指令碼。避免JS阻塞網頁的呈現導致頁面的空白。

3、程式碼格式化(同級進行對齊,一般縮排用TAB鍵)

4、行為操作相關

例如全選按鈕,通過判斷全選按鈕是否被選擇來實現全選和取消,而不要通過一個變數。

5、需要使用變數時

不要直接if(glength==2)

而是

var startlength=2;

if( glength == startlength )  這樣判斷中含有意義,有利於維護

6、變數命名時以他的英文或相關單詞命名,讓人一看就知道這個變數的作用。

7、if(){

      }

或if()

      {

      }

兩種寫法都可以,但是同個專案中,程式碼要統一

8、不要放一堆全域性變數在外面,如果要使用全域性變數,應使用不同名稱空間。

(在JS中,一切都是物件)

var obj1={

a:1,

b:2,

};

多個JS時:

obj1.str={};

obj1.str.a=2;

obj1.str.b=2;

obj1.str1={};

obj1.str1.a=4;

(具體名稱空間用法看本人另一篇文章《JS中避免命名衝突》)

7、CSS檔案或JS檔案,採用common.css+html名.css/common.js+html名.css。

8、有多級程式碼時,按層級讀取。

通常都是先收起,然後按照使用者開啟哪個部分,再載入哪個部分,

9、動態載入僅載入需要經常變化的內容,對於固定的內容,直接使用HTML。動態載入會導致速度變慢。

10、不要套多標籤巢狀,規範巢狀行為。

(具體檢視本人另一篇文章《HTML標籤巢狀規則》)

11、對於規則的資料,使用表格,增刪改查方便,有利於後臺人員開發。

12、JS動態生成的元素,繫結事件需要on。

JQ1.7版本以前使用live(),已被棄用。

無效時,測試:

$("body").on("click",".cancel",function(){

alert(1);

alert(this.index());

})

一般原因,元素的所在範圍錯誤。

注意:我們在查詢某個元素的時候,$("#ulid")的範圍越小越容易被找到。

但是,不能選擇後來才生成元素作為判斷的範圍,否則瀏覽器會找不到。

13、專案完成後進行程式碼的壓縮。

JS壓縮工具:Packer       YUI Compressor

做法:去掉空格和換行,去掉註釋,將複雜變數名替換成簡單變數名。

14、a標籤的寫法,需要加上target屬性

<a href="#" target="_self"></a>

_blank 在新視窗中開啟被連結文件。
_self 預設。在相同的框架中開啟被連結文件。
_parent 在父框架集中開啟被連結文件。
_top 在整個視窗中開啟被連結文件。
framename 在指定的框架中開啟被連結文件。

有時候也加title屬性  <a href="#" target="_self" title="登入">登入</a>

title滑鼠上移時,顯示該連結的文字註釋(用在登入註冊?)

15、javascript:void(0)/javascript:;

當某個連結,需要指定其他事件操作,而不要跳轉的時候

href="javascript:void(0);"

如: <a href="javascript:void(0);" title="線上客服">線上客服</a>

16、HTML 中最好不要將無內容元素的標籤閉合,例如:使用 <br> 而非 <br />

17、一般來說,資料存在一個方法內部,使用完了就扔掉。

18、input搜尋框,如果不打算提交和重新整理,不要用form。