Web開發(fā)者不可不知的15條編碼原則 |
發(fā)布時(shí)間: 2012/7/24 9:20:04 |
HTML已經(jīng)走過了近20的發(fā)展歷程。從HTML4到XHTML,再到最近十分火熱的HTML5,它幾乎見證了整個(gè)互聯(lián)網(wǎng)的發(fā)展。但是,即便到現(xiàn)在,有很多基礎(chǔ)的概念和原則依然需要開發(fā)者高度注意。下面,向大家介紹這些應(yīng)該遵循的開發(fā)原則。 1、善用DIV來布局當(dāng)開發(fā)一個(gè)Web頁(yè)面時(shí),要考慮第一件事就是區(qū)分頁(yè)面重點(diǎn)。將這些內(nèi)容用DIV標(biāo)簽包含起來,頁(yè)面的代碼會(huì)呈現(xiàn)出整潔、縮進(jìn)良好的風(fēng)格。 <div id="header"></div> <div id="body-container"> <div id="content"> <!-- Content -- > </div> <div id="right-side-bar"> <!-- Right Side Bar Content Area -- ></div> </div> <div id="footer"></div> <div id="header"></div> <div id="body-container"> <div id="content"> <!-- Content -- > </div> <div id="right-side-bar"> <!-- Right Side Bar Content Area -- ></div> </div> <div id="footer"></div> 2、將HTML標(biāo)簽和CSS樣式表分割開來好的頁(yè)面應(yīng)該將HTML標(biāo)簽和CSS樣式表分割開來。這是每一個(gè)Web開發(fā)者在首次接觸Web開發(fā)時(shí)就應(yīng)該知道的一條原則。然而,直到今天,仍然有很多開發(fā)者沒有嚴(yán)格遵循這一原則。 不要在HTML標(biāo)簽里內(nèi)嵌樣式表代碼。開發(fā)者應(yīng)該養(yǎng)成習(xí)慣,單獨(dú)建立文件,用以存放CSS樣式表。而這也將方便其他開發(fā)者在修改你的代碼時(shí),能迅速完成工作。 <p style="color: #CCC; font-size:16px; font-family: arial">An example to illustrate inline style in html</p> <p style="color: #CCC; font-size:16px; font-family: arial">An example to illustrate inline style in html</p> 3、優(yōu)化CSS代碼現(xiàn)如今,為網(wǎng)站添加多個(gè)CSS文件的做法已經(jīng)很普遍。但是,當(dāng)網(wǎng)站包含的CSS文件過多時(shí),會(huì)降低網(wǎng)站的響應(yīng)速度。解決辦法是:精簡(jiǎn)代碼并對(duì)多個(gè)CSS文件進(jìn)行優(yōu)化,將其合并成一個(gè)文件。這個(gè)辦法能顯著提升網(wǎng)站的加載速度。此外,有很多工具可以用來優(yōu)化CSS文件,例如CSS Optimizer、Clean CSS等。 4、優(yōu)化Javascript文件,并將其放到頁(yè)面底部和CSS一樣,為頁(yè)面添加多個(gè)Javascript文件也是很普遍的做法。但這同樣會(huì)降低網(wǎng)站的響應(yīng)速度。為此,開發(fā)者應(yīng)該精簡(jiǎn)、優(yōu)化這些Javascript文件。 但有一點(diǎn)和CSS不同,瀏覽器通常不支持并行加載。這也就是說,當(dāng)瀏覽器加載Javascript文件時(shí),將不再同時(shí)加載其它內(nèi)容。而這就導(dǎo)致了網(wǎng)頁(yè)的加載速度好像變慢了。 一個(gè)好的解決辦法是:將Javascript文件的加載順序放在最后。為了實(shí)現(xiàn)這一目標(biāo),開發(fā)者可以把Javascript代碼放在HTML文檔的底部,而最好的位置是放在接近</body>標(biāo)簽的地方。 5、善用標(biāo)題元素<h1> 到 <h6>這些元素用來突出頁(yè)面的重點(diǎn)內(nèi)容。這有助于用戶更加關(guān)注頁(yè)面的重點(diǎn)部分。對(duì)于博客,我(指本文作者)推薦使用<h1>標(biāo)簽來突出博客標(biāo)題。因?yàn)椋┛蜆?biāo)題幾乎是頁(yè)面中最重要的部分。 <h1>This is the topmost heading</h1> <h2>This is a sub-heading underneath the topmost heading.</h2> <h3>This is a sub-heading underneath the h2 heading.</h3> <h1>This is the topmost heading</h1> <h2>This is a sub-heading underneath the topmost heading.</h2> <h3>This is a sub-heading underneath the h2 heading.</h3> 6、在合適的地方使用合適的HTML標(biāo)簽HTML標(biāo)簽是構(gòu)造規(guī)范內(nèi)容結(jié)構(gòu)的關(guān)鍵。例如,<em>標(biāo)簽用來強(qiáng)調(diào)重點(diǎn)內(nèi)容。<p>標(biāo)簽適用于突出文章段落。如果想要在段落間加空行,就不要使用<br />標(biāo)簽。 <em>emphasized text</em> <strong>strongly emphasized text</strong> <em>emphasized text</em> <strong>strongly emphasized text</strong> 對(duì)于一組相關(guān)的元素,建議使用<ul>、<ol>或 <dl>標(biāo)簽。但是,不要錯(cuò)誤的使用<blockquote>標(biāo)簽,因?yàn)樗臼怯脕矶x塊應(yīng)用的。 7、避免濫用<div>標(biāo)簽并不是所有塊元素都應(yīng)該用<div>標(biāo)簽來創(chuàng)建。例如,可以在內(nèi)聯(lián)元素的屬性里添加display:block,將其以塊元素的方式顯示。 8、使用列表創(chuàng)建導(dǎo)航使用<ul>列表標(biāo)簽,再配以相應(yīng)的CSS樣式,可以創(chuàng)建美觀的導(dǎo)航菜單。 9、別忘了封閉標(biāo)簽現(xiàn)在,每當(dāng)我回憶起在大學(xué)里學(xué)到的關(guān)于Web開發(fā)的第一堂課時(shí),教授提到的HTML結(jié)構(gòu)的重要性總是浮現(xiàn)在我的腦海。根據(jù)W3C標(biāo)準(zhǔn),標(biāo)簽應(yīng)該被封閉。那是因?yàn)椋谝恍g覽器下,如果沒有按照標(biāo)準(zhǔn)來將標(biāo)簽封閉,會(huì)出現(xiàn)顯示不正常的問題。而這一情況在IE6、7和8里尤為明顯。 10、標(biāo)簽小寫語(yǔ)法標(biāo)簽采用小寫語(yǔ)法是一項(xiàng)行業(yè)標(biāo)準(zhǔn)。雖然大寫語(yǔ)法并不影響頁(yè)面的顯示效果,但是,代碼的可讀性很差。下面這段代碼可讀性就非常差: <DIV> <IMG SRC="images/demo_image.jpg" alt="demo image"/> <A HREF="#" TITLE="click here">Click Here</A> <P>some sample text</P> </DIV> <DIV> <IMG SRC="images/demo_image.jpg" alt="demo image"/> <A HREF="#" TITLE="click here">Click Here</A> <P>some sample text</P> </DIV> 11、為圖片標(biāo)簽添加alt屬性在<img>標(biāo)簽里,alt屬性通常非常有用。因?yàn)樗阉饕嫱ǔo法直接抓取圖片文件。但是,如果開發(fā)者在alt屬性里添加了圖片的描述內(nèi)容,將會(huì)方便搜索引擎的抓取。 <!-- has an alt attribute, which will validate, but alt value is meaningless -- > <img id="logo" src="images/bgr_logo.png" alt="brg_logo.png" /> <!-- The correct way -- > <img id="logo" src="images/bgr_logo.png" alt="Anson Cheung - Web Development" /> <!-- has an alt attribute, which will validate, but alt value is meaningless -- > <img id="logo" src="images/bgr_logo.png" alt="brg_logo.png" /> <!-- The correct way -- > <img id="logo" src="images/bgr_logo.png" alt="Anson Cheung - Web Development" /> 12、在表格里使用<label> 和 <fieldset>為了提高代碼質(zhì)量,并讓用戶容易理解表格內(nèi)容,我們應(yīng)該用<label> 和 <fieldset>標(biāo)簽創(chuàng)建表格元素。 <fieldset> <legend>Personal Particular</legend> <label for="name">Name</label><input type="text" id="name" name="name" /> <label for="email">E-mail</label><input type="text" id="email" name="email" /> <label for="subject">Subject</label><input type="text" id="subject" name="subject" /> <label for="message" >Message Body</label><textarea rows="10" cols="20" id="message" name="message" ></textarea> </fieldset> <fieldset> <legend>Personal Particular</legend> <label for="name">Name</label><input type="text" id="name" name="name" /> <label for="email">E-mail</label><input type="text" id="email" name="email" /> <label for="subject">Subject</label><input type="text" id="subject" name="subject" /> <label for="message" >Message Body</label><textarea rows="10" cols="20" id="message" name="message" ></textarea> </fieldset> 13、將瀏覽器兼容代碼標(biāo)明信息并相互分開對(duì)一名Web開發(fā)者來說,跨瀏覽器兼容是一個(gè)被重點(diǎn)關(guān)注的問題。通常,開發(fā)者會(huì)針對(duì)不同的瀏覽器來編碼,也即是CSS hack。但是,如果開發(fā)者在編碼時(shí),能注明代碼為哪一個(gè)版本的瀏覽器所寫,會(huì)為以后的維護(hù)工作帶來極大方便。下面就是一個(gè)很好的示例: <!--[if IE 7]> <link rel="stylesheet" href="css/ie-7.css" media="all"> <![endif]--> <!--[if IE 6]> <link rel="stylesheet" href="css/ie-6.css" media="all"> <script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script> <script type="text/javascript"> DD_belatedPNG.fix('#logo'); </script> <![endif]--> <!--[if IE 6]> <link rel="stylesheet" href="css/ie-6.css" media="all"> <script type="text/javascript" src="js/DD_belatedPNG_0.0.8a-min.js"></script> <script type="text/javascript"> DD_belatedPNG.fix('#logo'); </script> <![endif]--> 14、避免過度注釋作為一名開發(fā)者,在代碼中添加注釋是一個(gè)好習(xí)慣,能方便理解并易于維護(hù)。這在其它編程語(yǔ)言如PHP、JAVA 和 C#里很普遍。但是,HTML/XHTML是文本標(biāo)記語(yǔ)言,非常容易理解。因此,無需為每行代碼都添加注釋。 15、測(cè)試代碼推薦開發(fā)者使用W3C文本標(biāo)記驗(yàn)證服務(wù)來測(cè)試代碼。它是一個(gè)高效的測(cè)試工具,能幫助你發(fā)現(xiàn)頁(yè)面中存在的錯(cuò)誤。而且,它還能從頁(yè)面錯(cuò)誤出發(fā),幫你定位到相應(yīng)的代碼。這一點(diǎn)通常在編碼完成后很難做到。但開發(fā)者需要注意的是,驗(yàn)證通過的代碼并非就是性能優(yōu)異的代碼。 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |