清單 1. 行結(jié)束的位置
<script language="javascript"> var valueA = 1; var valueB = valueA ///bad +1; var valueC = valueB + ///good valueA; alert(valueB); //output: valueB=2 alert(valueC);//output: valueC=3 </script>
縮進(jìn)
關(guān)于縮進(jìn)的問題,不只是 JavaScript,幾乎所有的語言編寫的時(shí)候,都會提及縮進(jìn)的問題?s進(jìn)幾乎是代碼編寫規(guī)范的第一課,是代碼可閱讀性判斷的直接因素。
代碼縮進(jìn)的好處是不言而喻的,但是對于如何縮進(jìn),則沒有標(biāo)準(zhǔn)而言。最受歡迎的是方便使用 TAB 鍵縮進(jìn),也有些喜歡用 2 個(gè)、4 個(gè)、8 個(gè)空格進(jìn)行縮進(jìn)。這樣縮進(jìn)風(fēng)格不一,也同樣給代碼的閱讀帶來障礙。
本文提倡用 4 個(gè)空格來進(jìn)行縮進(jìn),并在同一產(chǎn)品中采用同一種縮進(jìn)標(biāo)準(zhǔn)。不支持用 TAB 鍵進(jìn)行縮進(jìn)。這是因?yàn)橹钡浆F(xiàn)在還沒有統(tǒng)一的標(biāo)準(zhǔn)來定義 TAB 鍵所代替的空白大小,有些編輯器解析為 4 個(gè)空格大小,有些則解析為 8 個(gè)。因而用不同的編輯器查看代碼,可能造成格式混亂。
當(dāng)然 TAB 簡單易用,為解決這個(gè)問題,建議在設(shè)置開發(fā)環(huán)境時(shí),將編輯器里的 TAB 快捷鍵重新設(shè)置為 4 個(gè)空格。據(jù)了解 Eclipse, Vi, Nodepad++,Editplus, UltraEdit 等流行的編輯器,均提供了此功能。
注釋
代碼中的注釋很重要,自然也是毋庸置疑的。通常我們會強(qiáng)調(diào)代碼中注釋數(shù)量的多少,而輕視了對注釋質(zhì)量的提高。編碼是及時(shí)添加注釋,會給后續(xù)代碼的維護(hù)人員帶來很大的便利。但是如果注釋不注意更新,或者由于拷貝、粘貼引起的錯(cuò)誤的注釋,則會誤導(dǎo)閱讀人員,反而給閱讀帶來障礙。
除了注釋要 及時(shí)更新外,我們還應(yīng)對注釋的內(nèi)容要特別關(guān)注。注釋要盡量簡單、清晰明了,避免使用含混晦澀的語言,同時(shí)著重 注釋的意義,對不太直觀的部分進(jìn)行注解。請見清單 2。
清單 2. 有意義的注釋
<script language="javascript"> //following section is used to initialize golbal variables (good) var valueA = 0; //initialize valueA to be sero (bad) var valueB = 1; ... //call f1 function after waiting for 50 seconds. (good) setTimeout(f1,50000); //set timeout to be 20s (copy error) ... </script>
這樣的注釋方式在 JavaScript 代碼中經(jīng)常見到。"initialize valueA to be sero" 這樣的注釋有什么用呢?難道閱讀程序的工程師從"var valueA = 0;"復(fù)制語句中看不出來么?"set timeout to be 20s"這條注釋,不只是因拷貝、粘貼引起的時(shí)間大小的錯(cuò)誤,同時(shí)也誤導(dǎo)了程序員對這條語句的理解。setTimeout() 函數(shù)的作用并非是設(shè)置函數(shù)執(zhí)行的超時(shí)時(shí)間,而是等待一定時(shí)間后執(zhí)行所調(diào)用的函數(shù),害人匪淺呀。這樣的注釋內(nèi)容寧可刪掉。
出處:ibm
責(zé)任編輯:bluehearts
上一頁 淺談JavaScript編程語言的編碼規(guī)范 [1] 下一頁 淺談JavaScript編程語言的編碼規(guī)范 [3]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評論。
|