2005 · 125 citations · 14 references
Software MaintenanceEngineeringCross-cutting ConcernSoftware EngineeringObject OrientationSoftware AnalysisAspect-oriented RefactoringsAspect-oriented ProgrammingObject-oriented DesignDesignComputer ScienceObject-oriented Legacy CodeCode RefactoringSoftware DesignProgram AnalysisSoftware TestingFormal MethodsNew Code SmellSystem Software
In this paper, we present a collection of aspect-oriented refactorings covering both the extraction of aspects from object-oriented legacy code and the subsequent tidying up of the resulting aspects. In some cases, this tidying up entails the replacement of the original implementation with a different, centralized design, made possible by modularization. The collection of refactorings includes the extraction of common code in various aspects into abstract superaspects. We review the traditional object-oriented code smells in the light of aspect-orientation and propose some new smells for the detection of crosscutting concerns. In addition, we propose a new code smell that is specific to aspects.
14
<i>N</i> degrees of separation
Peri Tarr, Harold Ossher, William Harrison et al. · 1999 · 1.2K citations · Full text
Refactoring object-oriented frameworks
William F. Opdyke · 1992 · 1K citations
Letters to the editor: go to statement considered harmful
Edsger W. Dijkstra · Communications of the ACM · 1968 · 1K citations · Full text
Gilad Bracha, William R. Cook · 1990 · 778 citations
Diverse Inheritance Mechanisms, Class Hierarchy Growth, Engineering +5
Design pattern implementation in Java and aspectJ
Jan Hannemann, Gregor Kiczales · 2002 · 572 citations
Engineering, Cross-cutting Concern, Software Engineering +19