前端代码规范文档格式.docx
《前端代码规范文档格式.docx》由会员分享,可在线阅读,更多相关《前端代码规范文档格式.docx(8页珍藏版)》请在冰点文库上搜索。
之间;
非特殊情况下JavaScript文件必须外链至页面底部;
3.引入样式文件或JavaScript文件时,须略去默认类型声明.
CSS:
linkrel=”stylesheet”href=”css/global.css”/>
JS:
scriptsrc="
js/jquery.js"
>
/script>
4.引入JS库文件,文件名须包含库名称及版本号及是否为压缩版,比如jquery-1.7.1.min.js;
引入插件,文件名格式为库名称+插件名称,比如jQuery.cookie.js;
5.所有编码均遵循xhtml标准,标签&
属性&
属性命名必须由小写字母及中、下划线数字组成,且所有标签必须闭合;
属性值必须用双引号包括;
6.充分利用无兼容性问题的html自身标签,比如span,em,strong,optgroup,label,等等;
需要为html元素添加自定义属性的时候,首先要考虑下有没有默认的已有的合适标签去设置,如果没有,可以使用须以”data-”为前缀来添加自定义属性,避免使用”data:
”等其他命名方式;
7.语义化html,如标题根据重要性用h(同一页面只能有一个h1),段落标记用p,列表用ul,内联元素中不可嵌套块级元素;
8.尽可能减少div嵌套
9.书写链接地址时,必须避免重定向,例如:
href=”即须在URL地址后面加上“/”;
10.在页面中尽量避免使用style属性,即style=”…”;
11.能以背景形式呈现的图片,尽量写入css样式中;
12.重要图片必须加上alt属性;
给重要的元素和截断的元素加上title;
13.给区块代码及重要功能(比如循环)加上注释,方便后台添加功能;
14.特殊符号使用:
尽可能使用代码替代:
比如<
(<
)&
>
(>
空格()&
»
(»
)等等;
15.书写页面过程中,请考虑向后扩展性;
CSS
重置样式引用reset.css
1.编码统一为utf-8;
2.class与id的使用:
id是唯一的,class是可以重复的,所以id尽量使用在大的模块上,class可用在重复使用率高及子级中;
常用命名:
容器:
container/box
头部:
header
主导航:
nav
子导航:
nav-sub
顶导航:
nav-top
网站标志:
logo
大广告:
banner
页面中部:
main
底部:
footer
菜单:
menu
菜单内容:
menu-content
子菜单:
menu-sub
搜索:
search
搜索关键字:
keyword
搜索范围:
range
标签文字:
tag-title
标签内容:
tag-content
当前标签:
tag-active
标 题:
title
内容:
content
列表:
list
当前位置:
nav-dir
侧边栏:
side
图标:
icon
注释:
note
登录:
login
注册:
register
3.为JavaScript预留钩子的命名,请以js_起始,比如:
js_hide,js_show;
4.class与id命名:
大的框架命名比如header/footer/wrapper/left/right.其他样式名称由小写英文&
数字&
-来组合命名,如top-comment,fontred,width200;
避免使用中文拼音,尽量使用简易的单词组合;
总之,命名要语义化,简明化.
5.css属性书写顺序,建议遵循:
布局定位属性–>
自身属性–>
文本属性–>
其他属性.此条可根据自身习惯书写,但尽量保证同类属性写在一起.属性列举:
布局定位属性主要包括:
display&
list-style&
position(相应的top,right,bottom,left)&float&
clear&visibility&overflow;
自身属性主要包括:
width&
height&
margin&
padding&
border&
background;
文本属性主要包括:
color&
font&
text-decoration&
text-align&
vertical-align&
white-space&
其他&
content;
这些属性只是最常用到的,并不代表全部;
6.充分利用html自身属性及样式继承原理减少代码量
7.背景图片请尽可能使用sprite技术,减小http请求,考虑到多人协作开发,sprite按模块制作;
8.使用table标签时(尽量避免使用table标签),请不要用width/height/cellspacing/cellpadding等table属性直接定义表现,应尽可能的利用table自身私有属性分离结构与表现,如thead,tr,th,td,tbody,tfoot,colgroup,scope;
(cellspaing及cellpadding的css控制方法:
table{border:
0;
margin:
border-collapse:
collapse;
}tableth,tabletd{padding:
})
9.用png图片做图片时,要求图片格式为png-8格式,若png-8实在影响图片质量或其中有半透明效果,请为ie6单独定义背景:
_background:
none;
_filter:
progid:
DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=crop,src=’img/bg.png’);
10.减少使用影响性能的属性,比如position:
absolute||float;
11.代码缩进与格式:
建议单行书写,可根据自身习惯;
JavaScript
1.文件编码统一为utf-8,书写过程过,每行代码结束必须有分号;
2.变量命名:
驼峰式命名.原生JavaScript变量要求是纯英文字母,首字母须小写,如flower;
每个局部变量都需要有一个类型前缀,按照类型可以分为:
s:
表示字符串。
例如:
sName,sHtml;
n:
表示数字。
nPage,nTotal;
b:
表示逻辑。
bChecked,bHasLogin;
a:
表示数组。
aList,aGroup;
r:
表示正则表达式。
rDomain,rEmail;
f:
表示函数。
fGetHtml,fInit;
o:
表示以上未涉及到的其他对象,例如:
oButton,oDate;
作用域不大临时变量可以简写,比如:
str,num,bol,obj,fun,arr,
循环变量可以简写,比如:
i,j,k等,另要求变量集中声明,避免全局变量.
3.类名首个字母必需大写,例如Image,Support等。
属性名需要是有意义的名词,首字母小写,例如oImage.width。
方法名需要是有意义的动词[+名词],首字母小写,例如Support.getWidth.如果不希望被其他方法调用,需要在属性或者方法名前面加“_”,例如oImage._language.如果不希望被子类调用,需要在属性或者方法名前加“_”,例如oImage.__fire()
4.排版缩进采用统一的缩进方式排版代码。
缩进为2个ASCII空格
If(condition1||condition2){
action1;
}elseif(condition3&
&
condition4){
action2;
}elseif(condition5
&
condition6
condition7
condition8){
}else{
defaultaction;
}
5.关键词、条件括弧后面使用空格;
运算操作符号两侧使用空格;
语句分割符‘,’后面使用空格
varname[空格]=[空格]value;
if[空格](a,[空格]b){
6.左大括号"
{"
可以居行尾,也可写在下行首(独自一行);
右大括号"
}"
单独占一行,居行首if(a&
b){
------------------------
if(a&
b)
{
7.句末必须用分号结尾
varfn=function(){
};
//这里没有分号的话,脚本解析器会报错
(function(){
alert
(1);
})();
8.单行过长应在适当位置予以换行,增强可读性
if语句括号中的条件若过多过长,应予以折行;
折行后,||、&
等符号应与“(”后的第一个字母纵向对齐
9.if、while、for、do语句的执行体总是用"
和"
括起来,即使在其结构体内只有一条语句
10.语法意义相互独立的代码将用空行分隔
11.尽量避免使用存在兼容性及消耗资源的方法或属性,比如eval_r()&
innerText;
12.代码结构明了,加适量注释.提高函数重用率;
13.注重与html分离,减小reflow,注重性能.
图片
1.所有页面元素类图片均放入imges文件夹,测试用图片放于imges/demo文件夹;
2.图片格式仅限于gif||png||jpg;
3.命名全部用小写英文字母||数字||-||_的组合,其中不得包含汉字||空格||特殊字符;
尽量用易懂的词汇,便于团队其他成员理解;
另,命名分头尾两部分,用下划线隔开,比如ad-left01.gif||btn_submit.gif;
4.在保证视觉效果的情况下选择最小的图片格式与图片质量,以减少加载时间;
5.尽量避免使用半透明的png图片
6.运用csssprite技术集中小的背景图或图标,减小页面http请求
注释
1.html注释:
注释格式
‘–’只能在注释的始末位置,不可置入注释文字区域;
2.css注释:
注释格式;
3.JavaScript注释,单行注释使用’//这儿是单行注释’,多行注释使用;
开发及测试工具约定
建议使用WebStorm||Aptana||Dw||Vim,亦可根据自己喜好选择,但须遵循如下原则:
1.不可利用IDE的视图模式’画’代码;
2.不可利用IDE生成相关功能代码,比如Dw内置的一些功能js;
3.编码必须格式化,比如缩进;
测试工具:
前期开发仅测试FireFox&
IE7&
IE8&
IE9&
Chrome&
Safari;
其他规范
1.开发过程中严格按分工完成页面,以提高css复用率,避免重复开发;
2.减小沉冗代码,书写所有人都可以看的懂的代码.简洁易懂是一种美德.为用户着想,为服务器着想.