前端开发规范文档

来源:互联网 发布:谷歌拼音输入法 linux 编辑:程序博客网 时间:2024/04/29 19:13

1. XHTML的编写代码规范

1.1  文档类型声明及编码统一为html5声明类型<!DOCTYPE html>; 编码统一为<meta charset=”utf-8″ />, 书写时利用IDE实现层次分明的缩进;

1.2  非特殊情况下样式文件必须外链至<head>…</head>之间;非特殊情况下JavaScript文件必须外链至页面底部;

1.3  引入样式文件或JavaScript文件时须略去默认类型声明写法如下:

<link rel=”stylesheet” href=”…” />

<style>…</style>

<script src=”…”></script>

1.4  引入JS库文件文件名须包含库名称及版本号及是否为压缩版比如jquery-1.4.1.min.js; 引入插件文件名格式为库名称+插件名称比如jQuery.cookie.js;

1.5  所有编码均遵循xhtml标准标签 & 属性 & 属性命名 必须由小写字母及下划线数字组成且所有标签必须闭合包括br (<br />), hr(<hr />)属性值必须用双引号包括;不允许使用属性简写

1.6不允许使用属性简写尤其是在表单元素中,以前HTML允许写成如:<input checked><options elected>等,但XHTML规定所有属性必须被赋值。正确的写法是:<inputchecked="checked"/><optionselected="selected"/>

1.7  充分利用无兼容性问题的html自身标签比如span, em, strong, optgroup, label,等等需要为html元素添加自定义属性的时候首先要考虑下有没有默认的已有的合适标签去设置如果没有可以使用须以”data-”为前缀来添加自定义属性,避免使用”data:”等其他命名方式;

1.8  语义化html,  标题根据重要性用h*(同一页面只能有一个h1), 段落标记用p, 列表用ul, 内联元素中不可嵌套块级元素;

1.9  尽可能减少div嵌套

<div class=”box”>

<div class=”welcome”>

您的用户名是<div class=”name”>用户名</div>

</div>

</div>

完全可以用以下代码替代: 

<div class=”box”>

<p>欢迎访问XXX, 您的用户名是<span>用户名</span></p>

</div>;

1.10  书写链接地址时必须避免重定向,例如:href=”http://itaolun.com/”, 即须在URL地址后面加上“/”

1.11  在页面中尽量避免使用style属性,style=”…”;

1.12  必须为含有描述性表单元素(input, textarea)添加label, 

<p>姓名: <input type=”text” id=”name” name=”name” /></p>

须写成:

<p><label for=”name”>姓名: </label><input type=”text” id=”name” /></p>

1.13  能以背景形式呈现的图片尽量写入css样式中;

1.14  重要图片必须加上alt属性给重要的元素和截断的元素加上title;

1.15  给区块代码及重要功能(比如循环)加上注释方便后台添加功能;

1.16  特殊符号使用尽可能使用代码替代比如 <(<) & >(&gt;) & 空格( ) & »(») 等等;

1.17  书写页面过程中请考虑向后扩展性;

1.18  class & id 参见 css书写规范.

 

2. css书写规范

2.1  编码统一为utf-8;

2.2  使用外部css文件的方式使用link方式调用样式。不要使用@import方法。另外,请不要在html页面内书写css样式。除非页面是单一独立的。

2.3  协作开发及分工共用css文件common.css, 协作开发过程中每个页面请务必都要引入此文件包含reset及头部底部样式此文件不可随意修改;

2.4   classid的使用: id是唯一的并是父级的, class是可以重复的并是子级的所以id仅使用在大的模块上, class可用在重复使用率高及子级中; id原则上都是由我分发框架文件时命名的JavaScript预留钩子的除外;

2.5   JavaScript预留的命名请以js_起始比如: js_btn

2.6   classid命名大的框架命名比如header/footer/wrapper/left/right之类的统一命名.其他样式名称由 小写英文 & 数字 & _ 来组合命名main_comment, msglist, width200; 避免使用中文拼音尽量使用简易的单词组合总之命名要语义化简明化.

2.7   规避classid命名:

a, 通过从属写法规避示例见d;

b, 取父级元素id/class命名部分命名示例见d;

c, 重复使用率高的命名请以自己代号加下划线起始比如i_clear;

d, a,b两条适用于在2中已建好框架的页面要在2中已建好框架的页面代码<div id=”mainnav”></div>中加入新的div元素,

a命名法则<div id=”mainnav”><div class=”firstnav”>…</div></div>,

样式写法 #mainnav  .firstnav{…….}

b命名法则<div id=”mainnav”><div class=”main_firstnav”>…</div></div>,

样式写法 .main_firstnav{…….}

2.8  css属性书写顺序建议遵循 布局定位属性–>自身属性–>文本属性–>其他属性此条可根据自身习惯书写但尽量保证同类属性写在一起属性列举布局定位属性主要包括:

 margin

padding

float(包括clear) 

position(相应的 top,right,bottom,left) 

display

visibility

overflow等; 

自身属性主要包括:

 width 

height

background  

border; 

文本属性主要包括: 

font

color

text-align

text-decoration

text-indent等;

其他属性包括: 

list-style(列表样式)

vertical-vlign

cursor

z-index(层叠顺序

zoom等。

列出的这些属性只是最常用到的并不代表全部;

2.9  书写代码前考虑并提高样式重复使用率;

2.10  充分利用html自身属性及样式继承原理减少代码量比如:

<ul class=”list”><li>这儿是标题列表<span>2012-09-15</span></ul>

定义

ul.list li{position:relative}  ul.list li span{position:absolute; right:0}

即可实现日期居右显示

2.11 样式表中中文字体名请务必转码成unicode以避免编码错误时乱码;

2.12  背景图片请尽可能使用sprite技术减小http请求考虑到多人协作开发, sprite按模块制作;

2.13  使用table标签时(尽量避免使用table标签), 请不要用width/ height/cellspacing/cellpaddingtable属性直接定义表现应尽可能的利用table自身私有属性分离结构与表现thead,tr,th,td,tbody,tfoot,colgroup,scope;(cellspaingcellpaddingcss控制方法: table{border:0;margin:0;border-collapse:collapse;} table th, table td{padding:0;} , base.css文件中我会初始化表格样式)

2.14  杜绝使用<meta http-equiv=”X-UA-Compatible” content=”IE=7″ /> 兼容ie8;

2.15  必须为大区块样式添加注释小区块适量注释;

2.16  代码缩进与格式建议单行书写可根据自身习惯后期将作统一优化处理;

 

 

3. JavaScript书写规范

3.1  文件编码统一为utf-8, 书写过程过每行代码结束必须有分号

3.2  库引入原则上仅引入jQuery若需引入第三方库须与团队其他人员讨论决定;

3.3  变量命名驼峰式命名原生JavaScript变量要求是纯英文字母首字母须小写iTaoLun;尽量避免全局变量.

3.4  类命名首字母大写驼峰式命名 IChuangyi;

3.5  函数命名首字母小写驼峰式命名iChuangyi();

3.6  命名语义化尽可能利用英文单词或其缩写;

3.7  尽量避免使用存在兼容性及消耗资源的方法或属性比如eval() & innerText;

3.8  后期优化中, JavaScript非注释类中文字符须转换成unicode编码使用以避免编码错误时乱码显示;

3.9  代码结构明了加适量注释提高函数重用率;

3.10  注重与html分离减小reflow, 注重性能.

 

4. 图片规范

4.1  所有页面元素类图片均放入images文件夹测试用图片放于temp文件夹;

4.2   图片格式仅限于gif || png || jpg;

4.3  命名全部用小写英文字母 || 数字 || _ 的组合,其中不得包含汉字 || 空格 || 特殊字符;尽量用易懂的词汇便于团队其他成员理解命名分头尾两部分用下划线隔开比如ad_left01.gif || btn_submit.gif;

4.4  在保证视觉效果的情况下选择最小的图片格式与图片质量以减少加载时间;

4.5  运用css sprite技术集中小的背景图或图标减小页面http请求;