CSS

样式规范主要就是更进一步的最佳实践以及字节节约技术:

  • 使用有效的CSS, 除非是bugs处理或专属语法(浏览器私有前缀)
  • 使用短ID或类命名,但确保他们不要太过隐晦,或直白(如#blue-button)
  • 大型项目使用前缀,如#xyz-help, .xyz-column
  • 选择器尽可能简单,如#example,而不是ul#example
  • 使用缩写
  • url()中不使用引号,0后面不跟单位
  • 使用#ABC这种简写的16进制颜色表示,而不是#AABBCC
  • 每个声明最后都要有分号(即使是最后一个)
  • 避免浏览器hacks
  • 谷歌建议尺寸前面的数值0省掉,如.5em, 可以节约一个字符.
  • 规范还推荐每个声明占据一行。

然后,声明的书写按照首字母顺序排列,如下:

#example 
{ 
    border: 1px solid #000; 
    border-radius: 6px; 
    display: block; 
    font-family: sans-serif; 
    margin: 1em; 
    outline: 0; 
    padding: 10px; 
    text-align: center; 
}

JavaScript

  • JavaScript的风格规范比较长,这可以理解,不过我们可以提炼出一些基本点:
  • 总是使用var声明变量
  • 行末别忘了分号
  • 使用标准而不是不标准的功能
  • 使用驼峰命名(如:camelCaseNames)以及大写的常量(如:UPPERCASE),避免使用const关键字,因为IE不支持
  • 使用命名空间技术
  • 避免eval()除非反序列化(奇怪的是JSON解析并未提及)
  • 避免对象上使用with(), 数组使用for in
  • 使用对象以及数组字面量而不是更冗长的声明
  • 要知道truthy和falsy规则
  • JavaScript资源中不使用IE条件注释
  • 不修改内置对象的原型——这会让人颜面扫地,因为这是让JavaScript更加强大的功能之一,但你知道这会导致问题
  • 小心使用闭包以及不要循环引用
  • 同样,小心使用”this”

这里有个不太寻常的推荐,不在块域中使用function, 如:

if (x) { 
    var foo = function() {} 
}

而不是:

if (x) { 
    function foo() {} 
} 

显然,第二种语法到处都有使用。其可以正常运作,但是在ECMAScript中是无效的。
文档还提到,包装对象应该永远不要用在基元上,除非是类型转换。其会导致意想不到的结果,例如:

var x = new Boolean(false); 
if (x) { 
    // 代码执行 
} 

愚蠢的JavaScript.
最后,规范说你应该优先使用单引号(‘)于双引号(“),因为字符串可能包含HTML代码

文档最好的建议是:保持一致。开发人员很少会赞同每个程序的规范要按照你自己的那套规则走。保持一致可以让6个月之后别人可以更容易地理解你的代码,可以让生活更加美好!
你是否赞同Google的规范指南?贵公司是否强迫你遵循奇怪的开发做法呢?

原文章:http://www.zhangxinxu.com/wordpress/?p=2511