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 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
如何使用PHP中的字符串函数
Nov 24 PHP
PHP源代码数组统计count分析
Aug 02 PHP
PHP输入流php://input介绍
Sep 18 PHP
基于PHP对XML的操作详解
Jun 07 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
ioncube_loader_win_5.2.dll的错误解决方法
Jan 04 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
php array_multisort 对数组进行排序详解及实例代码
Oct 27 PHP
DWZ+ThinkPHP开发时遇到的问题分析
Dec 12 PHP
php和asp语法上的区别总结
May 12 PHP
PHP var关键字相关原理及使用实例解析
Jul 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
php单态设计模式(单例模式)实例
2014/11/18 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
动手学习无线电
2021/03/10 无线电
onpropertypchange
2006/07/01 Javascript
sina的lightbox效果。
2007/01/09 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
简单谈谈JS中的正则表达式
2017/09/11 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
Python_LDA实现方法详解
2017/10/25 Python
Python实现简单的语音识别系统
2017/12/13 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
英语简历自我评价
2014/01/26 职场文书
公司面试感谢信
2014/02/01 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
食品质检员岗位职责
2015/04/08 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL
Redis可视化客户端小结
2021/06/10 Redis
Python pandas求方差和标准差的方法实例
2021/08/04 Python
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript
基于redis+lua进行限流的方法
2022/07/23 Redis