通用代码规范
文件/资源命名
在 web 项目中,所有的文件名应该都遵循同一命名约定。以可读性而言,减号-
是用来分隔文件名的不二之选。同时它也是常见的 URL 分隔符(i.e. //example.com/blog/my-blog-entry or //s.example.com/images/big-black-background.jpg),所以理所当然的,减号应该也是用来分隔资源名称的好选择。
请确保文件命名总是以字母开头而不是数字。而以特殊字符开头命名的文件,一般都有特殊的含义与用处(比如compass中的下划线就是用来标记跳过直接编译的文件用的)。
资源的字母名称必须全为小写,这是因为在某些对大小写字母敏感的操作系统中,当文件通过工具压缩混淆后,或者人为修改过后,大小写不同而导致引用文件不同的错误,很难被发现。
还有一些情况下,需要对文件增加前后缀或特定的扩展名(比如 .min.js, .min.css),抑或一串前缀(比如 3fa89b.main.min.css)。这种情况下,建议使用点分隔符来区分这些在文件名中带有清晰意义的元数据。
//GOOD
my-script.js
my-camel-case-name.css
i-love-underscores.html
thousand-and-one-scripts.js
my-file.min.css
//BAD
MyScript.js
myCamelCaseName.css
i_love_underscores.html
1001-scripts.js
my-file-min.css
协议
不要指定引入资源所带的具体协议。当引入样式和脚本,图片或其他媒体文件时,URL所指向的具体路径,不要指定协议部分(http:,https:),除非这两者协议都不可用。不指定协议使得 URL 从绝对的获取路径转变为相对的,在请求资源协议无法确定时非常好用,而且还能为文件大小节省几个字节。
//GOOD
<script src="//cdn.com/foundation.min.js"></script>
//
.example {
background: url(//static.example.com/images/bg.jpg);
}
//BAD
<script src="http://cdn.com/foundation.min.js"></script>
//
.example {
background: url(http://static.example.com/images/bg.jpg);
}
文本缩进
一次缩进4个空格
注释
原则:适量,并且切中要害* 必要的注释使用场景
- 代码晦涩难懂
- 可能被别人误认为是错误的代码
- 必要但是并不明显的针对特定浏览器的代码
- 恰当的文档注释
NOTE:大段的代码注释尽量予以避免,N久后,那段代码的存在会成为你和大家的绊脚石
代码检查
对于比较宽松自由的编程语言来说,严格遵循编码规范和格式化风格指南就显得极为重要。遵循规范固然很好,但是有自动化流程来确保其执行情况,岂不更佳。Trust is good, control is better.
对于 JavaScript的代码检查,建议使用JSHint。(sublime Text中可以安装jshint插件)