风中的纸屑——阅读编写可维护的JavaScript

第一部分 编程风格

程序是写给人读的,只是偶尔让计算机执行一下 ——Donald Knuth

1、逻辑之间加空行。
2、命名体现特点,小驼峰。以JS语言核心采用的代码规范为准。
3、将null当做对象的占位符,不要滥用。
4、减少continue的使用,用条件语句替代(以前很喜欢用continue)。
5、for in循环不仅遍历当前对象的属性,还会遍历原型继承而来的属性,一般使用时用hasOwnProperty方法过滤。不要将for in用来遍历数组。
6、函数先声明,再使用。(以前写c有的习惯,到了JS函数提升的机制就忽略了)且在条件语句的外部声明。
7、不要将"use strict"用在全局作用域中,这样合并文件时会把其他文件也设置为"use strict",其他文件的非"strict"代码可能会出错。

第二部分 编程实践

构建软件设计的方法有两种,一种是把软件做得很简单以至于明显找不到缺陷;
另一种是把它做得很复杂以至于找不到明显的缺陷 ——C.A.R.Hoare

1、各部分间的低耦合性。(感觉这个能涵盖以下所有)
2、通过JS修改元素样式时,最佳方法是操作CSS的className。
3、隔离应用逻辑(应用逻辑指的是和应用相关的功能性代码)。
4、尽量为函数传入有用、精确的信息。(如下)

 //不好的写法
 function clickHandler(event) {
     showMouse(event);
 }

 function showMouse(event) {
     console.log("x:" + event.pageX + "y:" + event.pageY);
 }
 
 myElement.addEventListener("click", clickHandler(event));
 
 //好的写法
 function clickHandler(event) {
     showMouse(event.pageX, event.pageY);
 }

 function showMouse(x, y) {
     console.log("x:" + x + "y:" + y);
 }

 myElement.addEventListener("click", clickHandler(event));

5、抛出自己的错误。
6、不要动不属于自己的对象。

第三部分 自动化

需要看更专业详细的书

posted @ 2017-06-07 20:47  ZackBee  阅读(194)  评论(0编辑  收藏  举报