Refactoring opportunities for replacing type code with state and subclass
Citations
65 citations
[...]
10 citations
Cites methods from "Refactoring opportunities for repla..."
...For Auto-SCST, we use the eight open-source applications used by Vedurada and Nandivada [5], [29]....
[...]
8 citations
4 citations
3 citations
Cites background or methods from "Refactoring opportunities for repla..."
...There are two important challenges in this step as discussed in a recent work [Vedurada and Nandivada 2017]: (i) In large code bases, like jfreechart (513 classes) and avrora (1,746 classes), identifying SC/ST refactoring opportunities, manually or via scripts [Kim et al. 2015], is a non-trivial…...
[...]
...Effective RCP refactoring depends on systematically performing two important [Vedurada and Nandivada 2017] refactorings to build the required class hierarchy: i) replace type code with subclasses (SC), and ii) replace type code with state (ST)1....
[...]
...A popular and highly recommended way [Kannangara and Wijayanayake 2014] to refactor code with conditional-state-checking statements (like the ones discussed above) is by using the łReplace Conditional with Polymorphismž (RCP) refactoring [Fowler 1999; Opdyke 1992; Vedurada and Nandivada 2017]....
[...]
References
5,174 citations
1,676 citations
"Refactoring opportunities for repla..." refers background or methods in this paper
...Kannangara and Wijayanayake [3] also empirically show that RCP refactoring is the most effective refactoring (among the ones listed the Fowlers catalog [2]) to improve the code....
[...]
...This state-checking code can be seen as an SC/ST refactoring opportunity and can be improved by applying SC/ST refactoring followed by RCP refactoring [2]; Fig....
[...]
...Choosing the best suited refactoring between SC and ST requires checking whether the typecode is mutable [2]....
[...]
...The code with complex conditional-state-checking statements can be improved by using “replace conditional with polymorphism” (RCP) refactoring [1], [2]....
[...]
...The first complexity in identifying refactoring opportunities is to identify the possible list of type codes [2]....
[...]
1,561 citations
"Refactoring opportunities for repla..." refers background in this paper
...2 are taken from the DaCapo [7] benchmark suite; these projects are stable releases....
[...]
...07.2 are taken from the DaCapo [7] benchmark suite; these projects are stable releases....
[...]
1,193 citations
"Refactoring opportunities for repla..." refers methods in this paper
...The code with complex conditional-state-checking statements can be improved by using “replace conditional with polymorphism” (RCP) refactoring [1], [2]....
[...]
52 citations
"Refactoring opportunities for repla..." refers background in this paper
...Recent works [5], [6] aim to automatically identify such opportunities....
[...]