// 优化点 3,param1 等于 2的情况 还要判断 status, 这几行作为参考 if ( $param1 == 2 && $status == 1 ) { $weNeedParam = 'values_2' ; if ( $param1 == 2 && $status != 1 ) { $weNeedParam = 'values_3' ; // 可以处理其他逻辑,我们要使用 $weNeedParam 参数 // 但是 IDE 可能会提示 Variable '$weNeedParam' is probably undefined 的波浪线标黄提示 // 所以优化点 4, 会对 $weNeedParam 再进行判断一次,仅作为 防御性 或 严谨性 的判断 // 至于是否有必要,智者见智 if ( empty ( $weNeedParam )) { return false ; return $this -> anotherFunction ( $weNeedParam );

注意
对于优化点 3,当然也可以写成如下,问题不大,不过也避免不来要嵌套

// 优化点 3,的另外一种写法 if ( $param1 == 2 ) { $weNeedParam = 'values_3' ; if ( $status == 1 ) { $weNeedParam = 'values_2' ;


当然亦可写成如下,看起来少了一个 if 关键字判断,但是效果一样

// 优化点 3,的另外一种写法 if ( $param1 == 2 ) { // 针对 $param1 == 2 的情况直接赋值 $weNeedParam = 'values_3' ; // 对于特殊情况再单独判断 $status == 1 && $weNeedParam = 'values_2' ;

p a r a m 1 的等值判断 1 2 ,还有 param1 的等值判断 1、2,还有 status 的 1 都属于神秘数字,或者说是 魔法值,我们不知道这个值代表的含义是什么。更多案例可以参考《阿里巴巴Java开发手册》关于_常量定义_的章节。

  • 理清头绪,明白什么是预期的主逻辑,把次要的、异常的,单独判断出来,把主逻辑显露出来。
  • 优化无止境,但是优化意识少不了。

    好代码看着就是舒服

  • PHP版本代码整洁之道
  • 阿里巴巴Java开发手册.pdf
  • likeshop开源商城系统
    私信