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 存储文本换行实现方法
Jan 05 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
隐性调用php程序的方法
Jun 13 PHP
PHP curl使用实例
Jul 02 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
ThinkPHP表单令牌错误的相关解决方法分析
May 20 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
yii2中关于加密解密的那些事儿
Jun 12 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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应用程序来获取Web服务器的状态信息
2006/10/09 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
微信小程序 使用canvas制作K线实例详解
2017/01/12 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
js实现ATM机存取款功能
2020/10/27 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
python实现超简单的视频对象提取功能
2018/06/04 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Python实现投影法分割图像示例(二)
2020/01/17 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
应届生新闻编辑求职信
2013/11/19 职场文书
办公室文员工作自我评价
2013/12/01 职场文书
自荐信写法介绍
2014/01/25 职场文书
《望庐山瀑布》教学反思
2014/04/22 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
教师工作决心书
2015/02/04 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
nginx实现动静分离的方法示例
2021/11/07 Servers