Motivations behind Refactoring

Provided below are supplements to the research on refactoring motivations.

Refactoring Motivation

What is the purpose of the applied refactorings?

Refactoring activities have been solicited in scenarios that have been coined by the previous studies as follows:

  • Functional. Refactoring the existing system to account for the upcoming functionalities.
  • BugFix. Refactoring the design is a part of the debugging process.
  • Internal Quality Attribute. Refactoring is still the de-facto for increasing the system’s modeling quality and design defect’s correction.
  • Code Smell Resolution. Refactoring to remove design anti-patterns.
  • External Quality Attribute. refactoring helps in increasing the system’s visibility to the developers, through the optimization of non-functional attributes such as testability, understandability, and readability.
Click to continue reading...

Production and Test File Refactoring

Do software developers perform different types of refactoring operations on test code and production code between categories?

We show the volume of operations for each refactoring operation applied to the refactored test and production files grouped by the classification category associated with the file.
Click to continue reading...