Google推荐的15条军规:HTML5代码规范

Google推荐的15条军规:HTML5代码规范
作者:夜飞羽 来源:mxria.com  时间:2012-05-11

今天无意间看到了Google的HTML/CSS编码规范,发现了不少自己很容易忽略的问题,特意仔细看了看,将其整理翻译出来分享给大家。Google规范的原文链接大家可以访问: http://google-styleguide.googlecode.com/svn/trunk/htmlcssguide.xml

1.协议头:

建议在指向图片或其他媒体文件、样式表和脚本的URL地址中省略http:https:协议部分,除非已知相应文件不能同时兼容2个协议。

1
2
3
4
5
6
7
8
9
10
11
12
13
<BR>
<!-- Not recommended不推荐 --><BR>
<!-- Recommended 推荐--><BR>
<script src= "//www.google.com/js/gweb/analytics/autotrack.js" ></script><BR>
/* Not recommended不推荐 */ <BR>
.example {<BR>
   background: url(http: //www.google.com/images/example);<BR>
}<BR>
/* Recommended 推荐 */ <BR>
.example {<BR>
   background: url( //www.google.com/images/example);<BR>
}

注:这个倒是真正平日不注意的,只要是绝对地址,http:总是带着。如果仔细想一想,还真有道理。

2.缩进:每次缩进使用双空格
不要使用tab制表符或制表符加空格的混合方式缩进

1
2
3
4
5
6
7
<ul><BR>
   <li>mxria.com<BR>
   <li>www.mxria.com<BR>
</ul><BR>
.example {<BR>
   color : blue ;<BR>
}

3.大小写:只使用小写

所有的代码都应是小写的,包括元素名称、属性,属性值(除非text或CDATA的内容)、选择器、css属性、属性值(字符串除外)

1
2
3
4
5
<BR>
<!-- Not recommended 不推荐--><BR>
<A HREF= "/" >Home</A><BR>
<!-- Recommended 推荐--><BR>
<img src= "mxria.png" alt= "MXRIA" >

4.尾随空格
尾随空格是不必要的,容易搞复杂diff文件。这个绝对是经验教训的总结!!!

1
2
3
4
<!-- Not recommended --><BR>
<p>What?_<BR>
<!-- Recommended --><BR>
<p>Yes please.

5.编码格式:使用UTF-8

请确保您的编辑器使用的字符编码??为UTF-8,没有字节顺序标记。在html模板或文档中通过 <meta charset="utf-8">来

定义编码格式。关于编码格式参考 Character Sets & Encodings in XHTML, HTML and CSS

6.注释
根据需要解释代码,这个就不多说了,团队开发这个非常重要,尽管很多时候大家不愿意遵守,但确实重要!!!

7.TODO待定项
尚未实现的或待定的内容一定要标识强调出来,利用TODO辨识,而非其他诸如@@来强调。
在todo项中如果有必要列明联系人,比如负责人
在TODO后追加一个冒号作为行动内容,例如 TODO:为美瑞网增加html5模板

8.文档类型:使用HTML5

使用<!DOCTYPE html>.HTML(text/html)类型文件相对XHTML(alication/xhtml+xml)文件,在浏览器及框架支持上和优化空间上都要好很多。


9.HTML 合法性验证

合法的使用HTML,并利用w3c的工具(W3C HTML validator)进行检查。唯一例外就是因为性能原因需要压缩文件大小。
原文如下:Use valid HTML code unless that is not possible due to otherwise unattainable performance goals  regarding file size. 但这个确实很难想象,省略标签节省的文件大小能有多少字节?但带来的问题可是风险居高哦!

1
2
3
4
5
6
7
8
9
<BR>
<!-- Not recommended 不推荐--><BR>
<title>Test</title><BR>
<article>This is only a test.<BR>
<!-- Recommended 推荐--><BR>
<!DOCTYPE html><BR>
<meta charset= "utf-8" ><BR>
<title>Test</title><BR>
<article>This is only a test.</article>

10.语义性
根据目的来合理使用HTML,这点对于HTML5而言尤为重要。下面例子可以对比,能实现同样的结果,但效率和可读性却有很大差别。

1
2
3
4
5
<BR>
<!-- Not recommended --><BR>
<div onclick= "goToRecommendations();" >All recommendations</div><BR>
<!-- Recommended --><BR>
<a href= "recommendations/" >All recommendations</a>

对于HTML5而言,例如header、footer、nav、section等跟div能实现的功能基本类似,但是语义性上有着天壤之别。

11.多媒体后备:为多媒体提供备选内容

这个属于老生长谈的内容,典型就是为img添加alt内容。

12.关注点分离
这点很重要,严格遵守将组织结构(markup)、表现样式(style)和行为动作(script)分开处理的原则,并且尽量使三者之间的关联度降到最小。这主要是基于维护性的考虑,通常,更新style文件或脚本文件比更改HTML文件的代价要小很多,试想一下,对于一个有超过10万页面的网站进行局部颜色调整,是每个html文件修改容易还是修改一个style文件容易?

12.可选Tags:省略可选的标签

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<STRONG><BR>
</STRONG><!-- Not recommended --><BR>
<!DOCTYPE html><BR>
<html><BR>
   <head><BR>
     <title>Spending money, spending bytes</title><BR>
   </head><BR>
   <body><BR>
     <p>Sic.</p><BR>
   </body><BR>
</html><BR>
<!-- Recommended --><BR>
<!DOCTYPE html><BR>
<title>Saving money, saving bytes</title><BR>
<p>Qed.

13.实体引用
假定开发团队内,文件和编辑器都是使用同样的编码格式(UTF-8),则没有必要使用实体引用的方式,例如&mdash;,

&rdquo;, or &#x263a; 除非一些HTML中具有特定含义的字符,如"<",或不可见字符如空格

14.Type属性:省略
将样式表和脚本中的Type省略,除非你不是用的css或javascript,在HTML5中,该值默认是text/css和text/javascript

1
2
3
4
5
6
7
8
9
10
11
<BR>
<!-- Not recommended --><BR>
<link rel= "stylesheet" href= "//www.google.com/css/maia.css" <BR>
   type= "text/css" ><BR>
<!-- Recommended --><BR>
<link rel= "stylesheet" href= "//www.google.com/css/maia.css" ><BR>
<!-- Not recommended --><BR>
<script src= "//www.google.com/js/gweb/analytics/autotrack.js" <BR>
   type= "text/javascript" ></script><BR>
<!-- Recommended --><BR>
<script src= "//www.google.com/js/gweb/analytics/autotrack.js" ></script>

15.block,list或table元素
针对每个block,list或table元素另起一行,并在每个子元素前缩进。这样可读性好,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<blockquote><BR>
   <p><em>Space</em>, the final frontier.</p><BR>
</blockquote><BR>
<ul><BR>
   <li>Moe<BR>
   <li>Larry<BR>
   <li>Curly<BR>
</ul><BR>
<table><BR>
   <thead><BR>
     <tr><BR>
       <th scope= "col" >Income<BR>
       <th scope= "col" >Taxes<BR>
   <tbody><BR>
     <tr><BR>
       <td>$ 5.00<BR>
       <td>$ 4.50<BR>
</table>

 对于使用HTML5的朋友,可以参考。当然,不同团队还会整理出适合自己的代码规范,上述应该来说属于比较基本的规则内容。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值