javaScript---代码性能指标
目录
代码性能指标
健壮性
可复用性
可扩展性
代码性能指标
代码性能指标包括:健壮性、可读性、可复用性、可扩展性。
健壮性
健壮性就是代码抗击风险的能力。
目的:
(1)避免和程序无关的因素,导致代码报错;
比如:调用方法时,少传了参数
function add(num1,num2){return num1+num2
}var sum=add() //少传了参数,会返回NaN
(2)快速给出问题反馈
(3)不至于因为非必要性bug,而导致程序执行中断。
比如:vue中引用第三方的库,第三方错误导致的错误
如何保障健壮性:(1)参数做好默认值,做好检测;(2)程序做好意外情况处理。
function a(type) {var type = type || "data1"; //给默认值var data = {data1: [1, 2, 3],data2: [4, 5, 6],};return data[type][0];
}
var s = a("data2");
console.log(s);
function add(num1, num2) {if (typeof num1 != "number" || typeof num2 != "number") {throw new Error("num1 or num2 must be a number");}return num1 + num2;
}var sum = add(); //少传了参数,会返回NaN
深数据结构给出判断:mes.arr&&mes.arr[0]&&mes.arr[0].title
可读性
可读性就是代码阅读起来很清楚
目的:(1)代码结构清晰;(2)他人可以看懂你的意思
可读性的做法:
(1)优化丑陋的结构;
典型丑陋结构比如:
①if-else分支过长-利用策略模式、状态模式优化;
②分支套分支
if(a){if(b){if(c){...}}
}
if(a && b && c){...} //利用&&或||联合逻辑符优化
③回调地域-promise,async
(2)遵循命令规范;
常量全大写;类名首字母大写;普通的变量和方法首字母小写,驼峰命名addAndMinus(){};局部变量下划线开头;遵循语义化。
(3)注释
可复用性
代码就像积木一样,哪里需要去哪里。
目的:重复操作不用写第二遍;减少代码体积
可复用性的做法:桥接模式、享元模式、函数式编程、低耦合、高内聚。
可扩展性
代码应对以后的变更,可以不用大规模改动
目的:增加新需求,不用变动现有结构;增加新功能,最好只需要写新功能就好了。
可扩展性的做法:留出扩展接口;模块低耦合、高内聚;良好的模块组织;良好的扩展方案。