从PHP5开始,提供了强大的面向对象功能。使得PHP能够完全按设计模式编程。PHP框架可以是单一入口,完全面向对象的,完全基于类的MVC模式。但是,我们面对大量的旧的代码,或即便是新的代码,也不尽然完全符合面向对象的原则,符合设计模式。小的应用无妨。但如果面对大型应用,则必然是一个不小的疼痛!!
怎么办?很多人总会面临这一切,PHP代码需要重构。(当然,你要是能明白我所说的这一切,那你肯定是看过《重构——改善既有代码的设计》这一本书)
看看这个链接:http://zh-cn.w3support.net/index.php?db=so&id=100876 我们就能深明重构的疼痛!这是在所难免的。但如何能使这一疼痛变得轻一些呢?
重构工具是必须的。好在,现在真的有了PHP的重构工具——rephactor。它确实是一个非常优秀的工具。(当然,你必须记住,从来就没有完全自动化的重构工具,机器永远不能代替人脑,所有重构的目标,以及每一步仍都是要你按照《重构——改善既有代码的设计》一书中给你讲明的做法去完成的!)
那么:rephactor给我们提供了什么呢?
- 保证重构的可逆性—— 一旦发现问题,代码是可逆的,可以回溯到前一个版本。
- 查找替换功能—— 普通查找替换,方法重命名,类重命名,正则表达式模式的替换。
- 所有操作完成后,均基于SimpleTest Aperiplus进行测试,并保证测试的覆盖率。
- 集成Phemto ,保证类的相关性测试。
当然,它有一些限制,只能运行于LINUX操作系统,并且,只支持PHP5.2
有兴趣吧? 有了它, 你的重构将会大大加快,并且,保证不会出现新的BUG。
官方网址:http://rephactor.sourceforge.net/
何不安装一个,试一下?
分享到:
相关推荐
管理系统系列--vuejs Database Manager数据管理系统——后端(重构...)
敏感文件------敏感文件------vuejs Database Manager数据管理系统——后端(重构...).zip
(当然,你要是能明白我所说的这一切,那你肯定是看过《重构——改善既有代码的设计》这一本书) 看看这个链接:http://zh-cn.w3support.net/index.php?db=so&id=100876 我们就能深明重构的疼痛!这是在所难免的...
4.排序重构问题。令A为一个由N个已特殊排序数组成的数列:A1,A2,…,AN,其中A1=0。令B为N(N-1)/2个数(定义为Dij=Ai-Aj(i>j))组成的数列。例如,A=0,1,5,8,那么D=1,3,4,5,7,8。请完成: a)编写程序...
计算机:物联网的心脏——物联网操作系统,重构产业链价值.pdf
阵列信号处理方面,基于相关矩阵的稀疏重构,利用cvx工具箱求解;DOA估计
PHP 重构工具 Scisr ,Scisr 是一个简单的 PHP 重构工具,本身使用 PHP 编写。 使用方法: 1. 类的重命名:...
人工智能支配自动驾驶受“电车难题”诘难吗--一个重构“伤害伦理”的视角.pdf
本文收集了五款出色的PHP代码重构工具,以帮助你完善更加优秀的项目。 1. Rephactor Rephactor是一款命令行重构工具,这是一款自动化工具,允许开发者以一种简洁的方式在不同的代码库中修改源码。 主要功能: ...
从战略重构到能力重塑,金控公司开启新旅程.pdf
新农村 新金融 新思维——对新疆巴州重构新农村金融体系的现实思考.pdf
重构——改善既有代码的设计重构——改善既有代码的设计重构——改善既有代码的设计重构——改善既有代码的设计重构——改善既有代码的设计
SharpRefactor(C#代码重构工具) 产品简述 -------- 本工具用于代码重构和代码自动生成。现阶段主要用于C#代码重构。 所谓重构也就是“保持软件的外在功能不变,重新调整其内部结构”。 关于每种重构模式的...
分区光影重构——大光比照片调整秘籍 in Photoshop.mp4
云服务重构新零售——2017阿里巴巴商业服务生态白皮书.pdf
不仅能够有效地逼近不完善的、带有噪声的曲面,而且拟合精度高、网络的训练速度快,说明了径向基函数神经网络应用于曲面重构问题的可行性,为解决反向工程的技术关键——自由曲面重构提供了一个新的途径。
藏经阁-新零售——互联网时代的零售重构.pdf
重构——改善既有代码的设计.pdf