代码是给人看的,只是顺便在机器执行一下
- 提炼函数
- 函数参数化
3. 策略模式
function getPrice(tag, price) {
if(tag ==='z') return price > 50 ? ...
if(tag === 'm')...
if(tag === 'l')...
}
改为
const p {
a(price){ return price > 50 ? ... },
b(price){},
c(price){}
}
function getPrice(tag, price){
return p[tag](price)
}
- 加变量 / 减变量 (目的都是易于阅读)
- 封装变量, setA 赋值 getA访问
- 拆分函数
- 一个循环只做一件事? reduce Math.min()
- 一个变量只承担一个职责
if(summer()){} // 条件较长就提炼成函数, 起了名字就比较直观
charge = summer() ? summerCharge() : regularCharge();
what where how 是什么? 什么时候用? 怎么用?
JavaScript代码优化之道