条件语句中减少用else

王志勇 发表于 2007年05月06日 23:54

条件语句是程序中的极其核心的部分。在处理一些复杂的条件语句的时候,可能会套用多层的if,在程序中也可能会用到else。但是如果你用了2层if、3层if,或者更多的时候,则不要用else,因为这样会让本来简单的程序的原理,变得十分复杂。一个月之后再来读这段程序,自己都会读不懂。以PHP以例,如果遇到这种情况:

if ($a>=500)
{statement
if ($b>=300 && $b<=2000)
{statement2}
}
else
{statement3}

如上所示,套用2层的if,使用了一个else,这个程序的逻辑关系就变得十分复杂。可以这样做简化:

if ($a>=500) {$c==1}
if ($a>=500 && $b>=300 && $b<=2000) {$d==1}
if ($a<500) {$c==2}

if ($c==1) {statement}
if ($d==1) {statement2}
if ($c==2) {statement3}

这种原理,是把$c和$d作为临时变量,用临时变量来传递信息,代替else,在这里的第9条中我有提到。在复杂的程序中,可以多次调用这些临时变量。以Blog程序为例,如果用户发帖时没有写名字,$c等于2;如果没有写内容,$c也等于2。$c默认为等于1,当等于1的时候,就可以成功留言。这就是减少用else的方便之处,便于读懂程序,思路清晰。

3条评论:
1   Wady 2007-05-08 14:16
个人觉得如果换一种写法或许用 else 会更简洁,同样一段代码本人习惯的格式为

if ($a>=500){
  statement
  if ($b>=300 && $b<=2000){
    statement2
  }
}else{
  statement3
}

2   自由勇 2007-05-08 15:33
HOHO~
3   sid 2007-05-17 14:41
同上,一般写代码的时候,都会用前边的空格来规划级别的我。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (38周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2018年11月
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue