由于搞二次开发骂过以前代码的作者,所以为了避免被人骂,尝试写注释,发现注释多了代码更乱了。今天对一个函数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}"));
}
效果很明显。
分享到:
相关推荐
C语言中if-else语句的嵌套分析 C语言中if-else语句的嵌套分析是编程语言中一个重要的基础知识点。本文将对if-else语句的嵌套关系进行详细的分析和解释,包括if-else语句的基本概念、if-else语句的嵌套关系、if-else...
04-v-if和v-else-if和v-else.vue
代码中大量的 if else 如何优化 在编程中,我们常常会遇到大量的 if else 语句,这些语句会使得代码变得难以维护和阅读。那么,如何优化这些 if else 语句呢?下面我们来讨论一些常见的优化方法。 首先,让我们看...
c语言if elseif语句嵌套 复制网址到浏览器即可
fj-ifElse 函数式 ifElse 安装 npm install fj-ifelse --save 用法 var ifElse = require ( 'fj-ifelse' ) ; ifElse ( ( x ) => x === true , ( x ) => t . ok ( x ) , ( ) => t . fail ( ) ) ( true ) ; var ...
学习笔记
VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠,VS2015 if else for 代码折叠
elseif.js 嵌套if / else语句
Android中的工厂模式(减少if-esle和switch-case)
如果其他块重构 使用嵌套的if / else代码块重构业务逻辑 该存储库随附了一系列有关如何重构业务逻辑的博客文章。 它旨在为我的有关重构的博客文章提供可读性帮助。
c代码-4-3奇偶判断(if-else双分支)
asp.net---- if else 语句
VS2012 C# 将代码中的 if else for折叠插件
if-elseif-else使用范例
if else 语句
IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)
python基础教程:Python中在for循环中嵌套使⽤if和else语句的技巧 Python的语法糖⾮常强⼤,⽐如Python中在for循环中嵌套使⽤if和else语句的技巧便⼗分给⼒,下⾯我们就举⼏个例⼦来看详细的⽤法: for…[if]…构建List...