11个让你代码整洁的原则 - jerrylsxu
- PHP中文网Original
- 2016-05-22 17:19:521710browse
<p class="FocusMe">写Web页面就像我们建设房子一样,地基牢固,房子才不会倒。同样的,我们制作Web页面也一样,一个良好的HTML结构是制作一个美丽的网站的开始,同样的,良好的CSS只存在同样良好的HTML中,所以一个干净的,语义的HTML的优点很多,那么平时制作中,我们做到了这一点吗?我们一起来看一张图片:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824123808.PNG" alt=""></p>
<p class="FocusMe"> 上图展示了两段代码,我想大家都只会喜欢第一种,我们先不说其语义,至少他的结构让我们看上去清爽,而第二种呢?一看就是糟糕的代码的代码,让人讨厌的代码。那么要怎么样才能写出一个好的代码,整洁的代码呢?下面我们就从以下十二个方面一起来学习,只要大家以后在写代码的时候能坚持下面的十二个原则,保准你的代码质量能上去,而且你写的代码会人见人爱。</p>
<p class="FocusMe"><strong> 一、DOCTYPE的声明</strong></p>
<p class="FocusMe"> 如果我们想做好一件事情,首先要知道我们有哪些权利去做,就如“DOCTYPE”的声明,我们没有必要去讨论是否使用HTML4.01或者XHTML1.0或者说现在的HTML5都提供了严格版本或者过渡版本,这些都能很好的支持我们写的代码:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824641125.PNG" alt=""></p>
<p class="FocusMe"> 由于我们现在的布局不需要table布局也能做出很好的布局,那么我们就可以考虑不使用过渡型而使用严格型的“DOCTYPE”,为了向后兼容,我建议使用HTML5的声明模式:</p>
<p class="FocusMe"></p>
<p class="FocusMe"></p>
<p class="FocusMe"> 如果想了解更多这方面的知识,可以点击:</p>
<ol class=" list-paddingleft-2">
<li><p><a href="http://www.w3.org/QA/2002/04/valid-dtd-list.html" target="_blank">W3C: Recommended DTDs to use in your Web document</a></p></li>
<li><p><a href="http://www.alistapart.com/stories/doctype/" target="_blank">Fix Your Site With the Right DOCTYPE!</a></p></li>
<li><p><a href="http://www.456bereastreet.com/archive/200609/no_more_transitional_doctypes_please/" target="_blank">No more Transitional DOCTYPEs, please</a></p></li>
</ol>
<p class="FocusMe"><strong> 二、字符集和编码字符</strong></p>
<p class="FocusMe"> 在每个页面的开始中,我们都在</p>
<p><br></p>
<p class="syntaxhighlighter xml"></p>
<table border="0"><tbody><tr class="firstRow">
<td class="gutter"><p class="line number1 index0 alt2">1</p></td>
<td class="code">
<p class="container"><br></p>
<p class="line number1 index0 alt2"><code class="xml plain"><</code><code class="xml keyword">meta</code> <code class="xml color1">charset</code><code class="xml plain">=</code><code class="xml string">"UTF-8"</code> <code class="xml plain">/></code></p>
</td>
</tr></tbody></table>
<p></p>
<p class="FocusMe"> 而且我们在平时写页面中时,时常会碰到"&"这样的符号,那么我们不应该直接在页面这样写“&”:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824467393.PNG" alt=""></p>
<p class="FocusMe"> 我们应该在代码中使用字符编码来实现,比如说“&”我们在代码中应该使用“&”来代替他。</p>
<p class="FocusMe"> 如果想了解更多这方面的知识,可以点击:</p>
<ol class=" list-paddingleft-2">
<li><p><a href="http://en.wikipedia.org/wiki/UTF-8" target="_blank">Wikipedia: UTF-8</a></p></li>
<li><p><a href="http://www.cs.tut.fi/~jkorpela/chars.html" target="_blank">A tutorial on character code issues</a></p></li>
<li><p><a href="http://www.ascii-code.com/" target="_blank">The Extended ASCII table</a></p></li>
</ol>
<p class="FocusMe"><strong> 三、正确的代码缩进</strong></p>
<p class="FocusMe"> 在页面编辑中,代码的缩进有没有正确,他不会影响你网站的任何功能,但要是你没有一个规范的缩进原则,让读你代码的人是非常的生气,所以说正确的代码缩进可以增强你的代码可读性。标准程序的缩进应该是一个制表符(或几个空格),形像一点的我们来看下文章开头那张图,或者一起来看下面展示的这张图,你看后就知道以后自己的代码要怎么样书写才让人看了爽:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824239583.PNG" alt=""></p>
<p class="FocusMe"> 不用说,大家都喜欢下面的那种代码吧。这只是一个人的习惯问题,不过建议从开始做好,利人利已。有关于这方面的介绍,大家还可以参考:<a href="http://www.w3.org/People/Raggett/tidy/" target="_blank">Clean up your Web pages with HTML TIDY</a>。</p>
<p class="FocusMe"><strong> 四、外链你的CSS样式和Javascript脚本</strong></p>
<p class="FocusMe"> 页面中写入CSS样式有很多种方法,有些直接将样式放入页面的“</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824009862.PNG" alt=""></p>
<p class="FocusMe"> 上面我们所说的只是样式,其实javascript脚本也和CSS样式是同一样的道理。图文并说,我最终想表达的意思是“<strong>在制作web页面中,尽量将你的CSS样式和javascript脚本单独放在一个文件中,然后通过链接的方式引用这些文件,这样做的最大好处是,方便你的样式和脚本的管理与修改</strong>。”</p>
<p class="FocusMe"><strong> 五、正确的标签嵌套</strong></p>
<p class="FocusMe"> 我们在写HTML时总是需要标签的层级嵌套来帮我们完成HTML的书写,但这些HTML的嵌套是有一定的规则的,如果要细说的话,我们可能要用几个章节来描述,那么我今天这里要说的是,我们在写HTML时不应该犯以下这样的超级错误:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824325977.PNG" alt=""></p>
<p class="FocusMe"> 上图的结构我们是常见的,比如说首页的标题,那么我们就应该注意了,不能把“</p>
<h1>”放在“<a>”标签中,换句话说,就是不能么块元素和在行内元素中。上面只是一个例子,只是希望大家在平时的制作中不应该犯这样的超级错误。</a>
</h1>
<p></p>
<p class="FocusMe"><strong> 六、删除不必要的标签</strong></p>
<p class="FocusMe"> 首先我们一起来看一个实例的截图:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824722293.PNG" alt=""></p>
<p class="FocusMe"> 上图明显是一个导航菜单的制作,在上图的实例中:有一个“p#topNav”包住了列表“ul#bigBarNavigation”,而“p”和“ul”列表都是块元素,加上“p”此处用来包“ul”根本就没有起到任何作用。虽然“p”的出现给我们制作web页面带来了极大的好处,但我们也没有必要到处这样的乱用,不知道大家平时有没有注意这样的细节呢?我是犯这样的错误,如果你也有过这样的经历,那么从今天开始,从现在开始,我们一起努力来改正这样的错误。</p>
<p class="FocusMe"> 有关于如何正确的使用标签,大家感兴趣的话可以点击:<a href="http://csscreator.com/?q=pitis" target="_blank">Divitis: what it is, and how to cure it.</a></p>
<p class="FocusMe"><strong> 七、使用更好的命名</strong></p>
<p class="FocusMe"> 这里所说的命名就是给你的页面中相关元素定义类名或者是ID名,很多同学都有这栗的习惯,比如说有一个元素字体是红色的,给他加上“red”,甚至布局都写“left-sidebar”等,但是你有没有想过,如果这个元素定义了“red”后,过几天客户要求使用“蓝色”呢?或者又说,那时的“left-sidebar”边栏此时不想放在左边了,而是想放在右边,那么这样一来我们前面的命名可以说是一点意义都没有了,正如下面的一个图所示:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824526317.PNG" alt=""></p>
<p class="FocusMe"> 那么定义一个好的名就很得要了,不但自己能看懂你的代码,而且别人也能轻松读懂你的代码,比如说一个好的类名和ID名“mainNav”、“subNav”、“footer”等,他能描述所包含的事情。不好的呢,比如前面所说的。</p>
<p class="FocusMe">如果想了解更多这方面的知识,可以点击:</p>
<ol class=" list-paddingleft-2">
<li><p><a href="http://www.techrepublic.com/article/standardizing-css-class-and-id-names/5286783" target="_blank">Standardizing CSS class and id names</a></p></li>
<li><p><a href="http://sixrevisions.com/css/css-tips/css-tip-2-structural-naming-convention-in-css/" target="_blank">CSS Tip #2: Structural Naming Convention in CSS</a></p></li>
<li><p><a href="http://woork.blogspot.com/2008/11/css-coding-semantic-approach-in-naming.html" target="_blank">CSS coding: semantic approach in naming convention</a></p></li>
<li><p><a href="http://www.realdealmarketing.net/docs/css-coding-style.php" target="_blank">CSS Naming Conventions and Coding Style</a></p></li>
</ol>
<p class="FocusMe"><strong> 八、离开版本的CSS</strong></p>
<p class="FocusMe"> 我们在设计菜单时,有时要求所有菜单选项的文本全部大写,大家平时是不是直接在HTML标签中就将他们设置成大写状态呢?如果是的话,我觉得不好,如果为了将来具有更好的扩展性,我们不应该在HTML就将他们设置为全部大写,更好的解决方法是通过CSS来实现:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824730389.PNG" alt=""></p>
<p class="FocusMe"><strong> 九、定义</strong></p>
<p class="FocusMe"> 大家平时制作web页面时不知道有没有碰到这样的问题,就是整站下来,使用了相同的布局和结构,换句话说,你在页面的布局上使用了相同的结构,相同的类名,但是突然你的上级主管说应客户的需求,有一个页面的布局需要边栏和主内容对换一下。此时你又不想为了改变一下布局而修改整个页面的结构,此时有一个很好的解决办法,就是在你的这个页面中的“</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824585989.PNG" alt=""></p>
<p class="FocusMe"> 给“</p>
<p class="FocusMe"> 如果想了解更多这方面的知识,可以点击:</p>
<ol class=" list-paddingleft-2">
<li><p><a href="http://css-tricks.com/id-your-body-for-greater-css-control-and-specificity/" target="_blank">ID Your Body For Greater CSS Control and Specificity</a></p></li>
<li><p><a href="http://www.37signals.com/svn/archives2/case_study_reusing_styles_with_a_body_class.php" target="_blank">Case study: Re-using styles with a body class</a></p></li>
</ol>
<p class="FocusMe"><strong> 十、验证你的代码</strong></p>
<p class="FocusMe"> 人不免会出错,我们编写代码的时候也是一样的,你有时候总会小写或多写,比如说忘了关闭你的元素标签,不记得写上元素必须的属性,虽然有一些错误不会给你带来什么灾难性的后果,但也不免会给你带来你无法意估的错误。所以建议您写完代码的时候去验证你一下你的代码。验证后的代码总是比不验证的代码强:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824410337.PNG" alt=""></p>
<p class="FocusMe"> 为一有效的验证你的代码,我们可以使用相关的工具或者浏览器的插件来帮助我们完成。如果你的代码没有任何错误,W3C验证工具会在你们面前呈现绿色的文字,这样让你是无比的激动人心,因为再次证明了你写的代码经得起W3C的标准。</p>
<p class="FocusMe"> 如果想了解更多这方面的知识,可以点击:</p>
<ol class=" list-paddingleft-2">
<li><p><a href="http://validator.w3.org/" target="_blank">The W3C Markup Validation Service</a></p></li>
<li><p><a href="http://xhtml-css.com/" target="_blank">XHTML-CSS Validator</a></p></li>
<li><p><a href="http://freesitevalidator.com/" target="_blank">Free Site Validator (checks entire site, not just one page)</a></p></li>
</ol>
<p class="FocusMe"><strong> 十一、逻辑顺序</strong></p>
<p class="FocusMe"> 这是一个很少见的错误情况,因为我想大家写页面都不会把逻辑顺序打乱,换句话说,如果可能的话,让你的网站具有一个先后逻辑顺序是最好的,比如说先写页头,在写页体,最后写页脚。当然有时也会碰到特殊情况,如何页脚部分在于我们代码的边栏以上,这可能是因为它最适合你的网站设计需求,这样或许是可以理解的,但是如果你有别的方式实现,我们都应该把页脚是放在一个页面的最后,然后在通过特定的技术让它达到你的设计需求:</p>
<p class="FocusMe"><img src="http://www.admin10000.com/UploadFiles/Document/201207/13/20120713140824742405.PNG" alt=""></p>
<p class="FocusMe"> 上面我们一起讨论了多个如何让你开始写一个整洁的HTML代码。从一个项目的开始,这一切都是非常容易的,但是如果需要你去修复一个现有的代码,那多少都会有一定的难度。上面说这么多主要是告诉您将要如何学习编写一个良好的、整洁的HTML代码,并且一直坚持这样的编写。希望读完这篇文章后,在你的下一个项目中,能从头开始,坚持写一个整洁的HTML代码。</p>
<p><br></p>
<p>以上就是11个让你代码整洁的原则 - jerrylsxu的内容,更多相关内容请关注PHP中文网(www.php.cn)!</p>
<p class="clear"><br></p>
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn