Revisiting the refactoring mechanics

  • Jonhnanthan Oliveira ,
  • Rohit Gheyi ,
  • Melina Mongiovi ,
  • ,
  • Márcio Ribeiro ,
  • Alessandro Garcia

Information and Software Technology | , Vol 110: pp. 136-138

Refactoring is a key practice in agile methodologies used by a number of developers, and available in popular IDEs. However, it is unclear whether the refactoring mechanics have the same meaning for developers. Objective In this article, we revisit the refactoring mechanics. Method We conduct a survey with 107 developers of popular Java projects on GitHub. We asked them about the output of seven refactoring types applied to small programs. Results Developers do not expect the same outputs in all questions. The refactoring mechanics is based on developers’ experience for a number of them (71.02%). Some developers (75.70%) use IDEs to apply refactorings. However, the output yielded by the preferred IDE is different from what they want. Conclusion Developers and IDE developers use different mechanics for most refactoring types considered in our survey, and this may impact developers’ communication.