写在前面:之前硬着头皮参加了java方面的编程规范培训,收货良多,工作半年有余的时候,总算感觉到一丝丝Coding之美,以及造轮子的乐趣,以至于后面开发新功能的时候,在Coding style方面花了很多时间,但还有一些细节方面,总感觉一直没有统一,比如什么时候该加空行,比如是不是所有的return前面都应该加个空行以及注释的添加等等,才有了对这本书《编写可维护的Javascript》的阅读,还是如之前一样,只收纳了一些自己看本书的时候,还未完全贯彻的style

  有待改进的点:在前端自动化的路上,还未曾使用过一些代码检查工具如JSLint,实在low的很,在code review的时候,花了更多的精力在coding style上面,而忽略了code review最重要的逻辑以及实现合理性上,拖延ing。

  1.行的长度

  java语言的编程规范中规定单行的长度不超过80个字符,文档中代码单行长度不超过70个字符,javascript没有详细的说明,所以暂且也是按照这个java的规范去执行

  2. 换行

//好的做法: 在运算符后换行,第二行追加两个缩进
callFunction(document, element, window, true, 123,
nav)

  当给变量赋值的时候,第二行的位置应该和赋值运算符的位置保持对齐

var result = something + antherThing + yetAntherThing + somethingElse +
enjoy

  

  3. 空行

  在下面这些场景中添加空行是不错的主意

   - 在方法之间

  - 在方法中的局部变量和第一条语句之间

  - 在多行或单行注释之前

  - 在方法内的逻辑片段之间插入空行,提高可读性

  4. 变量和函数

  变量定义使用名字,函数命名使用动词

  5.事件处理规则1 -- 隔离应用逻辑

  将应用逻辑从所有事件处理程序中抽离出来的做法是一种最佳实践,因为指不定什么时候其他地方就会触发同一段逻辑

  6.事件处理规则2 -- 不要分发事件对象

  不要将整个event对象作为参数进行传递,你需要确切的知道这个方法使用了哪些信息,这样才能方便的写出测试代码

  7.检测对象

  检测某个对象最好的方法是使用instanceof运算符,

  8.检测数组

  使用Array.isArray()检测一个值是否为数组

  9.检测属性

  判断属性是否存在的最好的方法是使用in运算符,in运算符仅仅会简单的判断属性是否存在,而不会去读属性的值,如果只想检查视力对象的某个属性是否存在,则使用hasOwnProperty()

  

05-02 12:22