Rephactor and Scisr both are automated refactor tools for PHP. Both are under development and provides same refactor functions. Can anyone tell me the exact difference in both tools?
Rephactor and Scisr both are automated refactor tools for PHP. Both are under development
Share
I wrote Scisr, so perhaps I can offer some insight. The short answer is that they’re simply different tools. They each have a subset of functionality, and you may find that both, one, or neither offer the exact functionality you wish for. Each one offers the set of features that the developer got around to implementing – i.e. somewhat incomplete.
The longer (and slightly more biased) answer is that they are philosophically different. Luckily, both tools offer little introductory blurbs that should give you a sense of what each developer set out to create. Here is Rephactor’s and here is Scisr’s.
I wrote Scisr after trying all the PHP refactoring tools I could find (including rephactor) and being dissatisfied with all of them. rephactor was definitely the most useful of all the tools I tried, but I thought it made too many demands – it wanted to hook into SVN, and testing tools, and all sorts of other stuff. These were all good processes to be following, but the need to integrate meant I couldn’t pick the tool up and immediately use it on my project. So I set out to write a simpler, single-purpose tool, and Scisr was born.
IIRC I also looked at rephactor’s source code and found it using regular expressions and other solutions I considered inadequate. I could be misremembering, though, so please forgive any untruth in that statement.
One other consideration should be product health. Unfortunately, both projects are more-or-less inactive. Scisr is more recently updated, and I’m still accepting pull requests, but I’m not actively working on it any more. Rephactor was last updated in 2009.