读《编写可维护的JavaScript》第二三章总结
第二章 注释
添加注释的一般原则是,在需要让代码变得清晰时添加注释。
2.1 ① 单行注释
独占一行的注释,用来解释下一行代码。这行注释之前总是有一个空行,且缩进层级和下一行代码保持一致。
在代码行的尾部的注释。代码结束到注释之间至少有一个缩进。(包括之前的代码部分)不应当超过单行最大字符限制,如果超过了,就将这条注释置于当前代码行的上方。
// 好的写法
if (condition) {
// 如果代码执行到这里,则表明通过了所有安全检查
allowed();
}
// 不好的写法:注释之前没有空行
if (condition) {
// 如果代码执行到这里,则表明通过了所有安全检查
allowed();
}
// 好的写法
var result = something + somethingElse; // somethingElse不应当取值为null
// 不好的写法:代码和注释中间没有空格
var result = something + somethingElse;// somethingElse不应当取值为null
2.2 ② 多行注释
多行注释总是会出现在将要描述的代码段之前,注释和代码之间没用空行间隔。和单行注释一样,多行注释之前应当有一个空行,且缩进层级和其描述的代码保持一致。作者青睐Java风格的多行注释。
// 好的写法 if (condition) {
/* * 如果代码执行到了这里 * 说明通过了所有的安全监测 */ allowed(); }
第三章 语句和表达式
3 ① 所有的块语句都应该使用花括号,包括:
- if
- for
- while
- do...while...
- try...catch...finally
即使只有一行代码,也应该添加注释
3.2 ② 块语句间隔
推荐:在左圆括号之前和右圆括号之后添加一个空格
if (condition) {
doSomething();
}
3.3 - 3.5 注意事项
swtich case语句中case的连续执行和省略default时需要添加注释。
避免使用with语句。
尽可能避免使用continue语句。
3.6 ⑥ for-in循环
for-in循环总是用来遍历对象的,而不是数组
for-in循环中应当使用hasOwnProperty(),除非你想查找原型链,这时就应当添加注释。
var prop; for (prop in object) { if (object.hasOwnProperty(prop)) { console.log(prop); console.log(object[prop]); } }
var prop;
for (prop in object) { //包含对原型链的遍历
console.log("Property name is " + prop);
console.log("Property value is " + object[prop]);
}