Rephactor和Scisr都是PHP的自动重构工具。两者都在开发中并提供相同的重构功能。谁能告诉我两种工具的确切区别?
答案 0 :(得分:2)
我写了Scisr,所以也许我可以提供一些见解。简短的回答是,它们只是不同的工具。它们每个都有一个功能的子集,您可能会发现两个,一个或两个都没有提供您希望的确切功能。每一个都提供了开发人员实现的一组功能 - 即稍微不完整。
答案越长(并且稍微有偏见)就是它们在哲学上是不同的。幸运的是,这两个工具都没有提供很少的介绍性介绍,可以让您了解每个开发人员要创建的内容。 Here is Rephactor's和here is Scisr's。
我在尝试了所有可以找到的PHP重构工具(包括rephactor)并对所有这些工具不满意后写了Scisr。 rephactor绝对是我尝试的所有工具中最有用的,但我认为它提出了太多的要求 - 它想要挂钩SVN,测试工具和各种其他东西。这些都是很好的流程,但需要集成意味着我无法选择工具并立即在我的项目中使用它。所以我开始编写一个更简单,单一用途的工具,并且Scisr诞生了。
IIRC我还查看了rephactor的源代码,发现它使用正则表达式和其他我认为不合适的解决方案。不过,我可能会记错了,所以请原谅那句话中的任何不实之处。另一个考虑应该是产品健康。不幸的是,这两个项目都是或多或少不活跃的。 Scisr最近更新了,我仍然接受拉取请求,但我不再积极地处理它了。 Rephactor最后一次更新是在2009年。
答案 1 :(得分:-1)
看起来两个提到的软件包都自2013年以来就已经失效。但是即时重构的需求仍然存在,因此我想与200 downloads/day分享正在积极开发的2019年替代方案。
2017年,我启动了一个名为Rector的小项目:https://github.com/rectorphp/rector
只需开箱即用即可:
这是一个CLI工具,易于使用:
composer require rector/rector --dev
vendor/bin/rector process src --level code-quality