The Downsides of Software Refactoring
Jason R. Frier, Robert F. Roggio

Abstract
Software quality is often measured in terms of both external usually indirectly measureable quality attributes and internal often directly measurable software metrics. While both professionals and academics alike are attracted to numbers that can be analyzed and compared and inferences made, these are not often available or, at best, are difficult to acquire. Sometimes external quality factors such as maintainability and reusability can be assessed without mapping to internal quality metrics and often direct software measures are taken without regard to indirectly measurable quality attributes. Still other times, we like to simply look internally and count the number of methods in a class or carefully look at the size of a class, or perhaps the number of parameters passed to a method and consider such metrics measures of software quality. These interests have given rise to a considerable amount of research on refactoring, but, unfortunately, research continues to indicate that some refactoring efforts can lead to poor software quality. This paper exams some of the literature on refactoring in order to encapsulate both positive and negative impacts of refactoring: where refactoring might be useful and where it might be avoided.

Full Text: PDF     DOI: 10.15640/jcsit.v3n1a1