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函数,php爱好者站推荐
Mar 19 PHP
drupal 代码实现URL重写
May 04 PHP
php生成略缩图代码
Jul 16 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
Jun 26 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
PHP生成树的方法
Jul 28 PHP
使用JavaScript创建新样式表和新样式规则
Jun 14 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
php7 图形用户界面GUI 开发示例
Feb 22 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
使用jspdf生成pdf报表
2015/07/03 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
layui框架中layer父子页面交互的方法分析
2017/11/15 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Python实现的简单算术游戏实例
2015/05/26 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
python实现Decorator模式实例代码
2018/02/09 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
ipython jupyter notebook中显示图像和数学公式实例
2020/04/15 Python
德国购买健身器材:AsVIVA
2017/08/09 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
社团文化节策划书
2014/02/01 职场文书
消防安全宣传口号
2014/06/10 职场文书
创建文明城市标语
2014/06/16 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
班级联欢会主持词
2015/07/03 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
react中的DOM操作实现
2021/06/30 Javascript
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers