痛苦面具:代码冗余的抽象解决思路

代码冗余的缺点:

后期维护痛苦:假设一段功能代码直接复制粘贴到50处,后期需要维护添加功能,还要手动复制粘贴50次。
编码效率低:代码复用程度低,编码缺乏规范化,缺乏工具化组件化的函数代码。
代码不简洁:一个类的代码过多,对于类的整体把握较差;阅读源码体验差,可读性弱。

代码冗余的原因:

1.直接复制粘贴
2.不知道框架/PHP自带的标准方法
3.完成功能调试后,没有考虑代码合并简化

为什么要复用代码?

尽最大可能自己偷懒,帮别人偷懒

复用代码的可能方法:

1.消消乐:变量
冗余:

$couont1 = ModelName::model()->Count('state=1 and is_pass=1');
$couont2 = ModelName::model()->Count('state=2 and is_pass=1');
$couont3 = ModelName::model()->Count('state=3 and is_pass=1');

合并

$w='is_pass=1 and state=';
$couont1 = ModelName::model()->Count($w.'1');
$couont2 = ModelName::model()->Count($w.'2');
$couont3 = ModelName::model()->Count($w.'3');

2.消消乐:函数
冗余:

function getInfo1(){
   
	
	$a=1;
	...省略999行
	一大段相同的逻辑代码
	
	
	其他处理
}
function getInfo2(){
   
	$a=1;
	...省略999行
	一大段相同的逻辑代码
	
	
	其他处理
}
function getInfo3(){
   
	$a=1;
	...省略999行
	一大段相同的逻辑代码
	
	
	其他处理
}

合并:

function 	UniteDeal(){
   
	a=1;
	...省略999行
	一大段相同的逻辑代码
}

function getInfo1(){
   
	UniteDeal();//统一函数处理
	//其他处理
}
function getInfo2(){
   
	UniteDeal();//统一函数处理
	//其他处理
}
function getInfo3(){
   
	UniteDeal();//统一函数处理
	//其他处理
}

3.找不同+消消乐:函数参数
冗余代码:

function actionIndex($keywords){
   //默认首页
		set_cookie('_currentUrl_', Yii::app()->request->
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值