1. if、for、while、case、switch、default等语句各自占一行,且其执行语句需要加 {}
示例:
if(node == null) {
return;
}
2. 双目操作符前后需要加空格,单目操作符前后不需要加空格, ->和. 后不加空格
示例:
双目:
a = b + c;
a *= 2;
a = b % 2;
单目:
i++;
flag = !isEmpty;
$obj->getName();
json.data.length;
3. 避免使用不易理解的数字,用有意义的标识来替代。涉及物理意义或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或者宏来代替。
4. 不要涉及面面俱到、非常灵活的数据结构
5. 在同一项目中,应该明确规定对接口函数参数的合法性检查应该由调用者还是接口函数本身负责,默认情况是函数调用者负责。
6. 避免将函数的参数作为工作变量。
7. 函数的功能应该是可以预测的,也就是说输入数据相同就应产生同样的输出。
8. 避免将没有关联的语句放到一个函数中
9. 设计高扇入、合理扇出(< 7)的函数
说明: 扇出指一个函数直接调用其他函数的数目,而扇入是指有多少商机函数调用它。
10. 在多重循环中,应该将最忙的循环放最内层。
示例:
for(var i = 0; i < 100; i++) {
for(var j = 0; j < 5; j++) {
doSomething();
}
}
应该修改为:
for(var j = 0; j < 5; j++) {
for(var i = 0; i < 100; i++) {
doSomething();
}
}