码迷,mamicode.com
首页 > Web开发 > 详细

phper談談最近重構代碼的感受(2)

时间:2015-07-19 00:02:45      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

 

重构代码更多的是对程序的可读性和可扩展性上做一些优化。

 

首先我对可读性进行细化。借鉴大神川山甲的重构系列文http://www.cnblogs.com/baochuan/archive/2012/03/31/2425441.html,我也来抛砖引玉。

 

面对一些有bad smell的代码,我们应该如何处理呢?

 

我觉得应该遵循面向对象的一些最基本的原则:封装,复用,抽象,继承,组合优先。

 

1.封装是第一原则,让客户端的调用变得更简单,封装细节,暴露同一接口。

封装的第一步就是消灭重复的代码块儿。我所说的代码块儿也包括同一个类,两个方法含有相同表达式。

比如列表显示查询这段:

技术分享

 

如果function pending,function index()的查询只是某些字段不同,而查询内容相同。完全可以把公共的这段剥离出来,并传递不同查询参数。

 

技术分享

下面就要说到可读性,$status =1 或者等于2的含义是什么,也许现在状态少还好理解,可如果以后状态更多了呢,有更多人参与这个项目的开发,去理解代码就需要更多成本。所以建议定义常量,让代码可读性变强。常量放到对应Model里面。

eg:

$query[‘status‘] = SomeModel::APPROVED;

总结:DRY原则 + more readable.

phper談談最近重構代碼的感受(2)

标签:

原文地址:http://www.cnblogs.com/freephp/p/4657841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!