1、html编码规范
全部html代码都采用小写
属性的值必定要用双引号("")括起来,且必定要有值,属性与属性之间空格数量不要太多,最好是1个
全部的标签都要有一个相应的结束标签,若是是单独不成对的标签,在标签最后加一个“/”来关闭它,例如
。
表现和结构分离,代码中尽可能不涉及任何表现元素,如style,font,border,bgcolor等属性,只写入文档的结构,将样式写于css文件中或页面的head区。
不要使用标签,能够用代替;不要用,能够用代替;不要在内用span改变连接文字颜色
用时,必须用把说明文字和checkbox组合起来,这时文字的点击效果和checkbox等同
在每一个内容块的开始和结束处加入注释,例如
css
......html
java
注意,不要再注释内容中加入“-”。express
html标签必须合理嵌套,并要有必定的层次感
2、CSS书写规范编程
一、尽量的经过继承和层叠重用已有样式数组
二、根据新建样式的适应范围分为三级:全站级、频道级、页面级浏览器
2-1.全站级:global.css 这个是全局(若是要修改这个css要测试整个网站)缓存
2-2.频道级:文件存在在css/相应目录下 (如:zhekou\fanli等)ide
2-3.页面级:少许几个页面,写成css文件,并作注释 若是只有仅在一个页面里使用,则能够放在head头部布局
三、单条CSS规则的书写要求格式要求
3-1.属性须要写在一行,须要在”{””}”先后加空格, 在属性的”;”后也加空格
如:.selector { property:value; property:value; }
3-2.多个 selector每一个占一行
如:.selector1,
.selector2,
.awlwxroe3 { property:value; property:value; }
3-3.兼容多个浏览器,将标准属性写在前面,
如:width:100px; *width:100px; _width:100px;
四、将做用于不一样模块的css放在一块儿,必定要加注释
/*nav start*/
/*nav end*/
五、ID和Class命名不要用缩写,单词用“_”分隔, 慎用ID,应该多用class
如:.nav_footer{}
六、推荐使用的class名
表示状态:.on .active .selected
表示位置:.first .last .main .side
表示结构:.hd .bd .ft .col .section
通用元素:.tb .frm .nav .list .item .tag .pic .info
七、推荐使用下面的css方式
区别属性:
IE6 _property:value
IE6/IE7 *property:value
IE6/IE7/IE8 property:value\9
非IE6 property//:value;
区别规则:
IE6 * html .selector{}
IE7 *:first-child+html .selector{}
非IE6 html>body .selector{}
八、清除浮动用global.css里的两种类 clear 和 clear-fix
九、页面引用css的顺序,全站-》频道-》页面-》内联
十、避免使用低效的选择器
如:body>*{}
Ul > li > a{}
#footer > h3{}
Ul#top_blue{}
#search span.submit a{}
十一、尽可能避免使用 filter
十二、不要直接修改标签的样式
如: Div{}
1三、不要在标签上直接写样式
如
1四、尽可能不用 expression
1五、不要使用 @import url(1.css);
1六、尽可能不用 !important
1七、绝对不要在css中使用 “*”选择符 *{margin:0,padding:0;}
3、js代码
一、js代码分三级,公共级、频道级、页面级 (js文件名全为小写)
公共级,js/global.js
频道级,js/频道名/频道名.js
页面级,若是少能够用
二、变量命名规范
2-1.常量以及全局变量必须所有使用大写字母,单词之间用下划线分隔
如:var MMS_FRAME, LIMITE_TIME
2-2.方法内变量使用多个单词组成复合词,首单词小写,其它字母大写
如:arrSampleList objSubmitBotton
2-3.对于指定Dom对象的变量名,尽可能使用elm、obj或elm、obj开头命名
var objSubmitButton = document.getElementById(‘btn_submit’);
function getCheckElement(){
var obj = document.getELementById(name); //若是方法内部只有一个对象
}
2-4.对于指定字符串的变量名,尽可能用str,或str开头
var strMaxTips = ‘最大的提示信息’;
2-5.对于指定数字的变量名,尽可能使用num或num开头
var numMaxcount = 1000;
2-6.布尔值的变量名的命名前面加is,同理能够加 has,can,should
Var isChecked, hasApple, canDoit;
2-7.循环变量使用 i,j,k
2-8.用于返回结果变量用result 或 ret开头的变量
2-9.临时变量为temp,捕捉变量为e
2-10.数组变量在单词前加arr
var arrCity = [‘北京’,‘上海’];
2-11.避免使用否认的变量名称,例如:
isNotError, isNotFound
三、方法命名规范
3-1.方法命名使用多个单词组成复合词,首单词小写,其它单词首字母大写。
如: function openWin(){}
3-2.方法命名的第一个单词尽可能使用动词。例如:get/set add/remove create/destroy start/stop insert/delete begin/end等
四、类或组件的命名规范
4-1.类名称必须为名词并使用骆峰命名法
Account , EventHandler
4-2.类内的常量必须在对象(类)的前部声名,或枚举变量的前部声名,全用大写
var NodeTypes = {
PI:3.1415,
ELEMENT:2
}
4-3.方法的命名为一个动词或动词短语 如:obj.getElement(){}
4-4.类的公有变量 , 类的私有变量 命名规范
var MyClass = function(){
this.myName = “robinName”; //公有变量
};
MyClass.prototype.getName = function(){
Var _thisName = “abc”; //私有变量前面加 ”_”
}
4-5.类的继承的方法
var CatMyClass = function(){ //红色为基类的名称
this.myClass = MyClass;
this.myClass();
……
};
五、变量的定义与使用
5-1.变量必须先定义后使用
5-2.声明变量时要初始化 null
5-3.变量应该放在和他有关系的代码中,不要把变量放在最上面,下面隔很远
5-4.变量具备最小的声明周期 ,执行完方法 内存就释放
5-5.应尽可能避免复杂条件表达式
如:很差的方法
If(a == b && b == c && c==d){ //有些复杂了 }
好的方法
var isOk = (a == b && b == c && c==d);
If(isOk){}
六、空白的使用规范
6-1.逗号后面跟一个空格
如:var foo = function(name1, name2, name3){}
6-2.冒号的先后各放一个空格
如:var strPosition = (a>b) ? ‘top’ : ‘botoon’;
6-3.for语句的分号后面跟一个空格
如:for(i = 0; i < 10; i++ ){}
6-4.分号前永远不要有空格
如:var city = “shanghai”;
七、js的一些建议
7-1.使用{}来代替 new object(); 用[] 来代替new Array();
如:var arrCity = new Array(’北京’,’上海’,’深圳’); //不建议
var arrCity = [’北京’,’上海’,’深圳’]; //建议
var objPerson = new object(); //不建议
objPerson.name = ‘robin’; objPerson.sex = ’man’;
var objPerson = {
name:’robin’,
sex:’ man’
}
7-2.恒等运算和相等运算
var a;
alert(a==null) //true
alert(a==null) //false
alert(a===undefined) //true
7-3.Dom缓存已经访问过的元素
7-4.离线更新节点
7-5.若是拼字符串,不要用字符串相加,用数组来处理
如:不要这样作
var str = ‘
‘这些是内容’+
‘
var str = new Array();
str.push(‘
八、注释
8-1.全局变量要有注释
8-2.整个方法也要加一下注释
注释
// 单行注释
/* 多行注释 */
4、java编码规范
5、提示文字
提示文字能够分为 鼠标移入提示、输入框备注、操做反馈、功能提醒,系统异常
鼠标移入提示实现包含 alt、titile、tips(使用很少)
alt:图片的提示信息,主要是为了SEO优化;
title:主要用于文字、操做的解释,在大多数状况下用于段落显示不全的提示信息;
tips:对信息的对话云式的提示,用做在当前区域的提示;
注: alt和title会在几秒中后消失,对于比较重要的提示建议用tips或者用JS行 为来控制提示信息
备注主要是 对表单输入框的输入提醒,显示在输入框右边,能够分为点击显示和默认显示
操做反馈提示是在操做表单时产生的提示文字或提示页面
表单输入框在输入过程当中发生错误,在输入框下面显示提示文字
提交表单时,某输入框输入错误,在输入框下面显示提示文字
表单提交,操做结果根据成功、失败、系统异常转入对应提示页面
特别状况下,也能够把将提示信息显示在操做按钮右边或上面
注:操做提示不能使用alert 弹框
功能提醒是对功能操做的注意点提示,放在操做表单底部
系统异常是在功能执行出现异常时提示给用户
6、操做
一、全部操做步骤不能超过3步,而且不能有双向选择
二、操做步骤超过1步的时候须要有流程图提示,让用户知道下一步操做的内容
7、SEO相关
须要作SEO的页面网址目录层次不要超过4层,网址须要作静态化,目录命名以小写英文字母、下划线组成
网页title,keywords ,description设定(须要肯定1我的定义这些内容告知技术)
减小css,js文件引用个数,各控制在2-3个
图片标签须要加入alt属性,不须要和title同时使用,须要时能够把title加到A标签
注:规范的HTML代码width及height标签也是须要的。title大多数状况下用于段落显 示不全的提示信息
页面中的js代码能放到页面末尾的放到页面末尾
页面html不能用table,改用div实现,并作到冗余代码的清除,保证hmtl代码简洁,style的代码尽可能放入css文件
网页关键字须要用strong、h1~h6这样的标签,h1标签一个页面里面最多出现一次 ,每一个页面中至少应该出现1次这样的标签
5、其余
网站可用色系demo准备
按钮样式demo准备
表单文本框、数据列表页样式demo准备
连接文字样式准备,设定多套连接样式供不一样频道,不一样内容使用
操做提示页面demo准备 ,能够分为操做成功、失败、系统异常3种
操做提示文字颜色准备,能够分为功能提醒、输入框备注、警告、错误、系统异常5种
准备404,500错误页提示页面
开发过程只能用以上效果布局相关页面