[TOC] # 命名 1. 变量命名只允许有字母、数字、`$`和`_`下划线。 2. javascript 的变量和其他语法元素名都是区分大小写。 3. 使用jQuery对象时候,使用`$var`的形式,让人很明白这是jQuery的对象(虽然有些库也会使用`$`),虽然W3school不推荐:变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做) 4. [浅谈 JavaScript 编程语言的编码规范](http://www.ibm.com/developerworks/cn/web/1008_wangdd_jscodingrule/) # 遵行惯用法: 1. 注释符号 `//` 后应该空一格; 2. 防止变量提升,应先声明后使用(JSHint 会提醒出 `_height` 存在变量提升以及定义后未使用的错误); 3. 不应该使用硬编码,并且重复几次( ID 后缀名可以定义到常量里,用大写字母); 4. 不应该有两个配置属性,含义不明(`this.opts` 和 `this._options`); 5. 若两次以上引用同一对象的属性,应该定义到局部变量再引用(`var options = this._options`); 6. 不应该同时使用两种属性命名风格(`colModel` 和 `table_body`); 7. 局部变量名应该尽可能短,而方法名应该尽可能完整(不应该同时即有 fromatTpl 又有 parseTemplate); 8. 局部变量名不需要用下划线开头,仅对象私有属性和私有方法有此必要;变量名不需要带类型属性(`_thdoms` 叫 `ths` 就好); 9. 使用 JavaScript 时,for 循环基本可以避免(比如 jQuery 有 `$.each`, `$.map`,`$.filter`, `$.grep` 等等高阶函数可用); 10. jQuery 对象名习惯以 `$` 开头,以便区分 DOM 对象;jQuery 查询应尽量使用 context (如 `this.$table = $('table', this.$element)` ); 11. jQuery DOM 操作和原生 DOM 操作不应该混用(已经使用 jQuery 的情况,就应该坚持使用 jQuery 来操作 DOM,避免丑陋的原生操作); 12. DOM 元素构造出来,也不应该再到文档中查询一遍了(图上的构造太复杂,一眼真看不懂); ***** Code Review 把程序写正确还只是跨出了第一步。把代码交给你的同事和朋友 review,这是学习经验、共同提高 最快的办法。