[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,这是学习经验、共同提高 最快的办法。