订阅此博客

如何订阅博客?

Blog首页关于和平海底Blog存档联系王志勇网站地图友情链接

条件语句中减少用else - 王志勇的Blog
条件语句中减少用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的方便之处,便于读懂程序,思路清晰。

UTF-8的Trackback: http://www.auiou.com/capable/trackbacksw.jsp?haa00000071
» 直接发送Trackback到此文章  » GB2312及其它语言的Trackback地址


有和平天使们的3条评论 (3 comments of Peaceful Angels'):

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
同上,一般写代码的时候,都会用前边的空格来规划级别的我。

即刻发表评论 (Deliver a prompt comment)

名字: (*必填)
网址: (可省,仅限于Blog地址)

正文:

    记住信息?

直接发送Trackback到此文章

说明:请勿发送垃圾信息、垃圾邮件;本评论系统不支持HTML标签。(您的留言需要审核)


Copyright © 2006-2008 auiou.com All rights reserved.
此Blog程序由王志勇编写