rephactor 优秀的PHP的重构工具


Posted in PHP onJune 09, 2011

PHP框架可以是单一入口,完全面向对象的,完全基于类的MVC模式。但是,我们面对大量的旧的代码,或即便是新的代码,也不尽然完全符合面向对象的原则,符合设计模式。小的应用无妨。但如果面对大型应用,则必然是一个不小的疼痛!!

        怎么办?很多人总会面临这一切,PHP代码需要重构。(当然,你要是能明白我所说的这一切,那你肯定是看过《重构——改善既有代码的设计》这一本书)

        看看这个链接:http://zh-cn.w3support.net/index.php?db=so&id=100876 我们就能深明重构的疼痛!这是在所难免的。但如何能使这一疼痛变得轻一些呢?

        重构工具是必须的。好在,现在真的有了PHP的重构工具——rephactor。它确实是一个非常优秀的工具。(当然,你必须记住,从来就没有完全自动化的重构工具,机器永远不能代替人脑,所有重构的目标,以及每一步仍都是要你按照《重构——改善既有代码的设计》一书中给你讲明的做法去完成的!)

        那么:rephactor给我们提供了什么呢?

  1. 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本。
  2. 查找替换功能—— 普通查找替换,方法重命名,类重命名,正则表达式模式的替换。
  3. 所有操作完成后,均基于SimpleTest Aperiplus进行测试,并保证测试的覆盖率。
  4. 集成Phemto ,保证类的相关性测试。

        当然,它有一些限制,只能运行于LINUX操作系统,并且,只支持PHP5.2

        有兴趣吧? 有了它, 你的重构将会大大加快,并且,保证不会出现新的BUG。

        官方网址:http://rephactor.sourceforge.net/

        何不安装一个,试一下?

PHP 相关文章推荐
PHP伪造referer实例代码
Sep 20 PHP
用php实现的获取网页中的图片并保存到本地的代码
Jan 05 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
php对称加密算法示例
May 07 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
PHP常见数组函数用法小结
Mar 21 PHP
PHP发送AT指令实例代码
May 26 PHP
PHP微信开发用Cache 解决数据缓存
Jul 11 PHP
php中final关键字用法分析
Dec 07 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
PHP中有关长整数的一些操作教程
Sep 11 PHP
php获取post中的json数据的实现方法
Jun 08 #PHP
常用的PHP数据库操作方法(MYSQL版)
Jun 08 #PHP
apache+php完美解决301重定向的两种方法
Jun 08 #PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 #PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
Jun 06 #PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
Jun 04 #PHP
php写的简易聊天室代码
Jun 04 #PHP
You might like
自适应高度框架 ----属个人收藏内容
2007/01/22 Javascript
简短几句 通俗解释javascript的闭包
2011/01/17 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
理解javascript异步编程
2016/01/27 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
2017/03/10 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
Angular2 http jsonp的实例详解
2017/08/31 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
浅谈Python的文件类型
2016/05/30 Python
Python中正则表达式详解
2017/05/17 Python
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Python装饰器用法实例总结
2018/05/26 Python
python 读取摄像头数据并保存的实例
2018/08/03 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
static关键字的用法
2013/10/07 面试题
三八妇女节演讲稿
2014/05/27 职场文书
离职感谢信怎么写
2015/01/22 职场文书
2015年乡镇工作总结范文
2015/04/22 职场文书
公司安全管理制度范本
2015/08/05 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
Python写情书? 10行代码展示如何把情书写在她的照片里
2022/04/21 Python