前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >细节决定品质:不良的if/else使用习惯

细节决定品质:不良的if/else使用习惯

作者头像
一见
发布2018-08-07 16:30:49
2710
发布2018-08-07 16:30:49
举报
文章被收录于专栏:蓝天

代码重构无处不在,重点滴做起。经常见到一些下面这样的代码:

1、不要拿bool和false直接比

if (false == IsXXX())

{

}

这是画蛇添足,费力不会讨好,直接了当即可:if (!IsXXX())

2、太多的if/else嵌套,导致过多缩进,造成眼花缭乱,阅读困难

if ()

{

    if ()

    {

        if ()

        {

            if ()

            {

                if ()

                {

                }

                else

                {

                }

            }

        }

    }

}

这个时候应当考虑提取成函数调用,以减少直接的if/else嵌套层次。同理,while/for也应当避免这种情况。

3、if代码块过长,else代码块仅两三行,典型的头得脚本,造成阅读困难

if (A == B)

{

    // 超过一屏的代码行

    // 代码行1

    // 代码行2

    // 代码行3

    // 代码行4

    // 代码行5

    // 代码行6

    // 代码行7

    // 代码行8

    // 代码行9

    // 代码行10

    // 代码行11

    // 代码行12

    // 代码行13

    // 代码行14

    // 代码行15

    // 代码行16

    // 代码行17

    // 代码行18

    // 代码行19

    // 代码行20

    // 代码行21

    // 代码行22

    // 代码行23

    // 代码行24

    // 代码行25

    // 代码行26

    // 代码行27

    // 代码行28

    // 代码行29

    // 代码行30

    // 代码行31

    // 代码行32

    // 代码行33

    // 代码行34

    // 代码行35

    // 代码行36

    // 代码行37

    // 代码行38

    // 代码行39

}

else

{

    // 两三行代码

    // 代码行1

    // 代码行2

    // 代码行3

}

由于if代码块超过了一屏,会大大增加阅读代码的困难,特别是要找到if对应的else时,不得不非常小心。建议遇到这类代码时,将if和else代码块对调,会值得阅读代码容易许多,如下所示:

if (A != B)

{

    // 两三行代码

    // 代码行1

    // 代码行2

    // 代码行3

}

else

{

    // 超过一屏的代码行

    // 代码行1

    // 代码行2

    // 代码行3

    // 代码行4

    // 代码行5

    // 代码行6

    // 代码行7

    // 代码行8

    // 代码行9

    // 代码行10

    // 代码行11

    // 代码行12

    // 代码行13

    // 代码行14

    // 代码行15

    // 代码行16

    // 代码行17

    // 代码行18

    // 代码行19

    // 代码行20

    // 代码行21

    // 代码行22

    // 代码行23

    // 代码行24

    // 代码行25

    // 代码行26

    // 代码行27

    // 代码行28

    // 代码行29

    // 代码行30

    // 代码行31

    // 代码行32

    // 代码行33

    // 代码行34

    // 代码行35

    // 代码行36

    // 代码行37

    // 代码行38

    // 代码行39

}

当然更佳的习惯,是不要有过长的代码块,应当考虑封装成函数。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012/07/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档