【规范】前端编码规范——一般规范
文件/资源命名
在 web 项目中,中划线(-)是用来分隔文件名的不二之选。同时它也是常见的 url 分隔符(比如:本文的 url)。所以理所当然的,中划线应该也是用来分隔资源名称的好选择。
尽量保证文件命名总是以字母开头而不是数字。而以特殊字符开头命名的文件,一般都有特殊的含义与用处。
文件的字母名称必须全为小写,这是因为在某些对大小写字母敏感的操作系统中,当文件通过工具压缩混淆后,或者人为修改过后,大小写不同而导致引用文件不同的错误,很难被发现。
还有一些情况下,需要对文件增加后缀或特定的扩展名时(比如 .min.js, .min.css),这种情况下,建议使用点分隔符来区分。
不推荐:
MyScript.js
myCamelCaseName.css
i_love_underscores.html
1001-scripts.js
my-file-min.css
推荐:
my-script.js
my-camel-case-name.css
i-love-underscores.html
thousand-and-one-scripts.js
my-file.min.css
结构目录
- images
- index(多页面的话可以分文件夹)
- body-bg.jpg
- header-bg.jpg
- main-bg.jpg
- body-bg.jpg
- header-bg.jpg
- main-bg.jpg
- index(多页面的话可以分文件夹)
- js
- common.js
- lib
- jquery.min.js
- sass
- core
- _common.scss
- _css3.scss
- _reset.scss
- _variables.scss
- _base.scss
- _common.scss
- _vars.scss
- _index.scss
- style.scss
- core
- index.html
编码格式
文件必须用 UTF-8 编码,使用 UTF-8(无 BOM),请保持 css 文件编码与页面编码一致。
协议
不要指定引入资源所带的具体协议。
当引入图片或其他媒体文件,还有样式和脚本时,url 所指向的具体路径,不要指定协议部分(http 和 https),除非这两者协议都不可用。
不指定协议使得 url 从绝对的获取路径转变为相对的,在请求资源协议无法确定时非常好用,而且还能为文件大小节省几个字节。
不推荐:
<script src="http://cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
.demo {
background:url(http://xxx.com/images/bg.jpg);
}
推荐:
<script src="//cdn.bootcss.com/jquery/2.2.1/jquery.min.js"></script>
.demo {
background:url(//xxx.com/images/bg.jpg);
}
文本缩进
无论是 html 还是 css 又或者是 js,都使用空格缩进,一次缩进 4 个空格。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="keywords" content="">
<meta name="description" content="">
<title>Document</title>
</head>
<body>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</body>
</html>
.demo {
width:100px;
height:100px;
background:url(//xxx.com/images/bg.jpg);
}
;(function(w, d, $){
var x = 10, y = 20;
console.log(x + y);
}(window, document, jQuery));
检查代码
每次写完 html 或者 css 或者 js,都应该检查一遍代码,看看是否有问题,比如 html 标签是否闭合,css 多余的类没有删除,js 的结束符,代码的缩进是否整齐等等。