Refactoring Opportunities for Replacing Type Code with State and Subclass
Jyothi Vedurada, V. Krishna Nandivada · 2017
Refactoring restructures a program to improve itsreadability and maintainability, without changing its originalbehavior. One of the key steps in refactoring is the identification ofpotential refactoring opportunities. In this paper, we discuss therelevance of two popular refactorings "Replace Type Code withSubclass" and "Replace Type Code with State" in real world Javaapplications and describe some of the challenges in automaticallyidentifying these refactoring opportunities.