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 相关文章推荐
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
PHP 输出缓存详解
Jun 20 PHP
关于页面优化和伪静态
Oct 11 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
深入PHP curl参数的详解
Jun 17 PHP
PHP中的闭包(匿名函数)浅析
Feb 07 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
php技巧小结【推荐】
Jan 19 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
May 27 PHP
详解no input file specified 三种解决方法
Nov 29 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 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
NOT NULL 和NULL
2007/01/15 PHP
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
2018/10/25 PHP
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
利用Python命令行传递实例化对象的方法
2016/11/02 Python
python交互式图形编程实例(三)
2017/11/17 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
python列表使用实现名字管理系统
2019/01/30 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
python 如何将数据写入本地txt文本文件的实现方法
2019/09/11 Python
Python any()函数的使用方法
2019/10/28 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
华三通信H3C面试题
2015/05/15 面试题
英文自荐信格式
2013/11/28 职场文书
工地资料员岗位职责
2013/12/31 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
我爱读书演讲稿
2014/05/07 职场文书
创先争优演讲稿
2014/09/15 职场文书
2016新年慰问信范文
2015/03/25 职场文书
2015年信访工作总结
2015/04/07 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
英语导游欢迎词
2015/09/30 职场文书