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 empty() 检查一个变量是否为空
Nov 10 PHP
谨慎使用PHP的引用原因分析
Sep 06 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
PHP跨时区(UTC时间)应用解决方案
Jan 11 PHP
解析PHP将对象转换成数组的方法(兼容多维数组类型)
Jun 21 PHP
PHP5各个版本的新功能和新特性总结
Mar 16 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
PHP实现长文章分页实例代码(附源码)
Feb 03 PHP
YII2框架中使用yii.js实现的post请求
Apr 09 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
php实现根据身份证获取精准年龄
Feb 26 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和AJAX创建RSS聚合器的代码
2007/03/13 PHP
实用函数3
2007/11/08 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
php计算一个文件大小的方法
2015/03/30 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
javascript iframe编程相关代码
2009/12/28 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
原生JS实现弹幕效果的简单操作指南
2020/11/10 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
用Python写冒泡排序代码
2016/04/12 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python用户管理系统
2018/03/13 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
django序列化serializers过程解析
2019/12/14 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
python软件都是免费的吗
2020/06/18 Python
golang/python实现归并排序实例代码
2020/08/30 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
Raffaello Network西班牙:意大利拉斐尔时尚购物网
2019/03/12 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
服装采购员岗位职责
2014/03/15 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
投资意向协议书
2015/01/29 职场文书
学校教代会开幕词
2016/03/04 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
创业计划书之酒店
2019/08/30 职场文书
python中pymysql包操作数据库方法
2022/04/19 Python