【JavaScript 开发规范】

Javascript 最佳实践
http://sofish.de/1171
http://sofish.de/1181

总是使用 ‘var’ √

特性检测而非浏览器检测 √

使用方括号记法 √

使用"."号,属性名是硬代码,不能在执行时改变。使用"[ ]"方括号,属性名是一个通过计算属性名而来的字符串。字符串可以是硬代码,也可能是变量

推荐使用"[ ]"方括号记法是说当其需要时(明显地)总是使用它。当不是严格需要使用它的时候,它是一个私人的偏好和习惯。一个好的经验原则是,使用"."号记法访问标准的对象属性,使用"[ ]"方括号记法访问由页面定义的对象属性。

避免 ‘eval’ √

避免 ‘with’ √

使用一元 ‘+’ 号运算符使类型转向Number √

console.log(+'001')

避免乱用全局命名空间 √

一般很少需要全部变量和函数。全局使用将可能导致 Javascript 源文件文档冲突,和代码中止。因此,一个好的做法是在一个全局命名空间内采用函数性的封装。

避免同步的 ‘Ajax’ 调用 √

当使用"Ajax"请求时,你要么选择异步模式,要么使用同步模式。当浏览器行为可以继续执行,异步模式将请求放在后台执行,同步模式则会等待请求完成后才继续。

应该避免同步模式做出的请求。这些请求将会对用户禁用浏览器,直至请求返回。一旦服务器忙,并需要一段时间来完成请求,用户的浏览器(或者 OS)将不能做任何其他的事,直至请求超时。

如果你觉得自己的情况需要同步模式,最大的可能是你需要时间来重新想一下你的设计。很少(如果有的话)实际上需要同步模式的 Ajax 请求。


如何命名
http://hi.baidu.com/cly84920/item/e4a4f800e27eab16cc34ea77
高质量的类
http://hi.baidu.com/cly84920/item/33e3fdcfe098370dc710b274
高质量的函数
http://hi.baidu.com/cly84920/item/e86490d2e51a0e12d90e4473

类名应该是名词或名词短语。采用大驼峰式。 √

对象的属性或方法名应该是动词或动词短语。采用小驼峰式。 √


javascript 编程规范
http://www.cnblogs.com/rubylouvre/archive/2011/04/02/2003151.html

常量名全部大写,单词间用下划线分隔。 √

禁止使用eval,with。 √

声明变量必须加上 var 关键字,除了在for(;;)循环等语句中,原则上不允许使用连续声明。因为连续声明的效率不如分开声明高,而且很容易手误致其暴露到全局作用域下。 √

分号,能加的地方都加(基本上除了for, function, if, switch, try, while外),防止因为这个问题导致压缩失败。 √

原则上不允许使用伪对象(String, Number,Boolean),直接用其字面量。 √

原则上不允许使用Array与Object,直接用其字面量[], {}。 √

谨慎处理this,防止绑定失效,指向window,建议使用that引用它。 √

若想调用函数自身,禁止使用命名函数表达式,在目标函数的第一行编写以下代码实现: √

var self = arguments.callee;

禁止扩展原生对象的原型,特别是Object.prototype。 √

禁止在页面上对某个元素绑定事件,即下面的代码风格: √

<a href="aaaa" jump="bbb" onclick="goto(this.jump)">跳转到某页面</a>

禁止块内函数声明。 √

for-in 循环只能用于object。 √

元素的选择,多使用ID选择器,类选择器,标签选择器,慎用子元素结构伪类与位置伪类(nth-child,:first,:eq,:gt) √


开发规范
http://aralejs.org/docs/rules.html
JavaScript 编码风格
https://github.com/aralejs/aralejs.org/wiki/JavaScript-%E7%BC%96%E7%A0%81%E9%A3%8E%E6%A0%BC
JavaScript 注释规范
https://github.com/aralejs/aralejs.org/wiki/JavaScript-%E6%B3%A8%E9%87%8A%E8%A7%84%E8%8C%83
编码与文档风格讨论
https://github.com/aralejs/aralejs.org/issues/36

data api 命名为小写并用连字符,如 data-trigger-type √

统一用 utf-8 编码 √

长度不超过 80 个字符。 √

缩进使用 2个 或 4个 空格,组件内保持统一,不混用。禁用 tab。Vim 设置 tab 为 4 空格: √

set tabstop=4
set shiftwidth=4
set expandtab

As short as possible(如无必要,勿增注释)。尽量提高代码本身的清晰性、可读性。 √

As long as necessary(如有必要,尽量详尽)。合理的注释、空行排版等,可以让代码更易阅读、更具美感。 √

上一篇:一个WEB网站高并发量的解决方案


下一篇:python爬虫__第一个爬虫程序