前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小技巧让你的 if else 看起来更漂亮

小技巧让你的 if else 看起来更漂亮

作者头像
wangxl
发布2018-03-07 17:09:10
7360
发布2018-03-07 17:09:10
举报
文章被收录于专栏:PHP在线

刚看到一个提问帖: 《如果程序中出现多层嵌套的 if...else...语句,如何重构可使程序逻辑变得更为清晰易读?》,因回答篇幅比较大,单独开个帖子答一下。

个人喜好代码风格不一样,下面只是我认为好的代码风格,不喜勿喷。如果有其他好的技巧,欢迎分享补充。

技巧一

删除 else

如:

代码语言:javascript
复制
function test($arg){
    if($arg == 'foobar'){
        return true;
    }else{
        return false;
    }}

尽量写成这样

代码语言:javascript
复制
function test($arg){
    if($arg == 'foobar'){
        return true;
    }

    return false;}

优先将代码量少,可使流程中断的代码块(return, throw excetion, continue ...)放到 if 中, 提前中断代码。

技巧二

拆分为多个函数

如果整个 if else 中的代码比较多,或者 if 与 else 中带代码不会导致后面的判断流程中断,并且还有 if else 之外的代码,将就 if else 中的代码拆分为多个函数。

代码语言:javascript
复制
if($age > 18){
    doSomeThingA();
    doSomeThingB();
    doSomeThingC();}else{
    doSomeThingD();
    doSomeThingE();}

这种方式需要将函数名取的尽量清晰易懂,不要嫌长。

技巧三

罗列规则式的写代码

多层 if 嵌套的语法,把他写成线性的,就像写规则一样将其一条条罗列出来

如:

代码语言:javascript
复制
function match($age, $salary, $pretty){
    if($age > 18){
         // do some thing A;        if($salary > 5000){
            // do some thing B;            if($pretty == true){
                return true;
            }
        }
    }

    return false;}

改写成这样是不是清晰多了?

代码语言:javascript
复制
function match($age, $salary, $pretty){
    if($age < 18){
        return false;
    }

    // do some thing A;
    if($salary < 5000){
        return false;
    }

    // do some thing B;
    return $pretty == true;}

总结

少用 else , 提前中断(return)!!!
少用 else , 提前中断(return)!!!
少用 else , 提前中断(return)!!!

重要的事情说三遍!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 php 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技巧二
  • 技巧三
  • 总结
    • 少用 else , 提前中断(return)!!!
      • 少用 else , 提前中断(return)!!!
        • 少用 else , 提前中断(return)!!!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档