JS编程建议——13:养成优化表达式的思维方式(1)

建议13:养成优化表达式的思维方式(1)
对同一个表达式稍加改动就会打乱表达式的逻辑运算顺序,因此我们应该学会优化表达式的结构,不改变表达式的运算顺序和结果即可提高代码的可读性。
1.第一种方式——加小括号
例如,面对下面这个复杂表达式,可能被&&和||的优先级所迷惑。

  1. (a + b > c && a – b < c || a > b > c)
    不过,如果进行如下优化,逻辑运算的顺序就会非常清晰了。
  2. ((a + b > c) && ((a – b < c) || (a > b > c)))
    虽然增加这些小括号显得多余,但是这么写并没有影响表达式的实际运算,反而带来了非常明显的好处。学会使用小括号分隔符来分隔表达式的逻辑层次,不失为一种高明之举。

使用小括号分隔符来优化表达式内部的逻辑层次,是一种很好的设计习惯。如果复杂表达式中存在一些与人的思维方式相悖的不良的逻辑结构,也会影响人们对代码的阅读和思考,这个时候就应该根据人的思维习惯来优化表达式的逻辑结构。
2.第二种方式——改变表达式结构顺序
例如,想设计一个表达式来筛选学龄人群,即年龄大于或等于6岁且小于18岁的人:

  1. if(age >= 6 && age < 18){
  2. }
    直观阅读,表达式age>=6 && age<18可以很容易被每一个人所理解。继续复杂化表达式:筛选所有弱势年龄人群,以便在购票时实施半价优惠,即年龄大于或等于6岁且小于18岁,或者年龄大于或等于65岁的人:
  3. if(age >= 6 && age < 18 || age >= 65){
  4. }
    从逻辑上分析,上面表达式没有错误。但是从结构上分析就感觉比较模糊,为此我们可以使用小括号来分隔逻辑结构层次,以方便阅读。
  5. if((age >= 6 && age < 18) || age >= 65){
  6. }
    但是,此时如果根据人的思维来思考条件表达式的逻辑顺序时,会发现它有些紊乱,与人的一般思维方式发生了错位。人的思维是一种线性的、有联系、有参照的一种方式。

对于表达式(age >= 6 && age < 18)|| age >= 65来说,通过对此模型图的直观分析,会发现该表达式的逻辑是非线性的,呈现多线思维的交叉型,这种思维结构对于机器计算来说基本上没有任何影响。但是对于人脑思维来说,就需要认真思考之后,才能把这个表达式中各个小的表达式逻辑单元串联在一起,形成一个完整的逻辑线。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值