zoukankan      html  css  js  c++  java
  • 不要再ifelse中嵌套ifesle

    简介:这是不要再ifelse中嵌套ifesle的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=333684' scrolling='no'>

    由于搞二次开发骂过以前代码的作者,所以为了避免被人骂,尝试写注释,发现注释多了代码更乱了。今天对一个函数code review,总结了一个以前看到过的经验:尽量不要再ifelse中嵌套ifelse。

    下面贴图,贴代码对比一下。

    code review前:

    	/**
    	 * 获取用户信息
    	 * @return link为邀请链接,
    	 *         score为积分,
    	 *         nick为昵称,
    	 *         num为作品数,以此确定分页数量,
    	 *         opus1为当前页第一副作品图片,
    	 *         opus2当前页第二幅作品图片地址,
    	 *         opus3当前页第三幅作品
    	 */
    	public function uinfoAction(){
    		$random = $this->request->getGetParameter('random');//随机数
    		$pwd = $this->request->getGetParameter('pwd');//私钥
    		//$page = $this->request->getGetParameter('page',1);//当前页面
    		//验证flash请求是否正确
    		if($pwd==md5("tenwowactqqcom@tenwow123".$random)){
    			//验证qq是否登录
    			if (TMAuthUtils::isLogin()){
    				$qq = TMAuthUtils::getUin();
    				$link = TMLibHtmlHelper::urlJump(TMConfig::BASE_URL,$qq,1,TMConfig::TAMS_ID);//邀请好友链接
    				$service = new TMService();
    				$info = $service->selectOne(array('FQQ'=>$qq),'FScoreCount,FNick','Tbl_User');//获取昵称
    				//flash方要求全部获取数据
    				/*$number = ($page-1)*3;
    				$count = count($service->select(array("FQQ"=>$qq),'*','Tbl_File'));
    				$list = $service->select(array("FQQ"=>$qq),"FUrl",'Tbl_File',array($number,3),array('orderby'=>'FFileId  DESC'));*/
    				//判断$list是否为空
    				$count = count($service->select(array("FQQ"=>$qq),'*','Tbl_File'));
    				$list = $service->select(array("FQQ"=>$qq),"FUrl",'Tbl_File');
    				$pic = array();//图片地址数组
    				foreach ($list as $li){
    					$li[0] = TMConfig::BASE_URL."data/".$li[0];
    					$pic[]=$li[0];
    				}
    				return json_encode(array('code'=>'0',
                                             'message'=>'成功拉取数据',
                                             'qq'=>"$qq",
                                             'link'=>$link,
                                             'score'=>$info['FScoreCount'],
                                             'nick'=>$info['FNick'],
    				                         'wblog'=>"1000",
    				                         'num'=>"$count",
                                             'pic'=>$pic,
                                             ));
    			}else{
    				return json_encode(array("code"=>'1','message'=>'对不起,您还没有登录!'));
    			}//endif 验证qq是否登录
    		}else{
    			return json_encode(array("code"=>'2','message'=>'请从合法链接参与游戏!'));
    		}//endif 验证flash请求是否正确
    	}

    code review之后:

    	/**
    	 * 获取用户信息
    	 * @return code    string    返回信息代码
    	 *         message string  返回信息
    	 *         qq  string  用户QQ
    	 *         link    string  邀请好友参加活动的链接
    	 *         score   string  活动当前的积分数
    	 *         nick    string   用户昵称
    	 *         wblog   string  微博关注数
    	 *         num string  当前作品总数
    	 *         pic array   作品地址
    	 */
    	public function uinfoAction(){
    		$random = $this->request->getGetParameter('random');//随机数
    		$pwd = $this->request->getGetParameter("pwd");//私钥
    		//判断是否从合法链接参与游戏
    		if($pwd!=md5("tenwowactqqcom@tenwow123".$random)){
    			return json_encode(array("code"=>"2","message"=>"请从合法链接参与游戏!"));
    		}
    		//判断是否登录
    		if(!TMAuthUtils::isLogin()){
    			return json_encode(array("code"=>"1","message"=>"对不起,您还没有登录!"));
    		}
    		$qq = TMAuthUtils::getUin();//获取登录QQ
    		$link = TMLibHtmlHelper::urlJump(TMConfig::BASE_URL,$qq,1,TMConfig::TAMS_ID);//获取邀请链接
    		$service = new TMService();//创建操作数据的对象
    		$info = $service->selectOne(array("FQQ"=>$qq),"FScoreCount,FNick","Tbl_User");//获取登录QQ昵称,活动积分
    		$picCount = count($service->select(array("FQQ"=>$qq),"FUrl","Tbl_File"));//获取当前作品数
    		$pic = array();//初始化图片地址数组
    		$list = $service->select(array("FQQ"=>$qq),"FUrl","Tbl_File");//获取图片地址
    		//由于select查询出来的是二维数组,要将其取出放到$pic中
    		foreach($list as $li){
    			$pic[]=TMConfig::BASE_URL."data/".$li[0];
    		}
    		//-----------还有获取微博关注数未开发wblog
    		return json_encode(array("code"=>"0",
    		                         "message"=>"成功拉取数据",
    		                         "qq"=>"{$qq}",
    		                         "link"=>"{$link}",
    		                         "score"=>"{$info['FScoreCount']}",
    		                         "nick"=>"{$info['FNick']}",
    		                         "wblog"=>"100000",
    		                         "num"=>"{$picCount}",
    		                         "pic"=>"{$pic}"));
    	}
    效果很明显。

    “不要再ifelse中嵌套ifesle”的更多相关文章 》

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/333684.html pageNo:11
  • 相关阅读:
    NC学习笔记
    NC开发笔记指导
    进度条Demo
    指点
    NC二次开发常用的方法
    java PDF2JPG
    IO笔记
    java Utils
    Lambda 笔记
    gradle记录
  • 原文地址:https://www.cnblogs.com/ooooo/p/2249281.html
Copyright © 2011-2022 走看看