2006 · 14 citations · 13 references
ComputingComputer ScienceTeachingCurriculum DesignInstruction In Higher EducationSoftware EngineeringComputer Science EducationSoftware ConstructionSoftware DesignSoftware MaintenanceSoftware RefactoringComputer Science CurriculumComputer Science PedagogyExtreme ProgrammingMaintainabilityMaintainability ImprovementRefactoringSoftware Development Methodology
Refactoring is the process of transforming the internal structure of existing code while keeping the integrity of the code's functional requirements. Refactoring is proven to increase program maintainability, flexibility, and understandability and is recognized as a best practice in the software development community. However, with the exception of courses or lectures on extreme programming, refactoring is overlooked in the computer science curriculum. This paper helps demystify refactoring by introducing an incremental approach for teaching refactoring on the college level. Through this hands-on approach, refactoring can become an integral component in the computer science curriculum and an innovative means of reinforcing software engineering principles and good development practices. The approach and three introductory lessons are presented in this paper.
13
Refactoring improving the design of existing code
Mauricio A. Saca · 2017 · 2.1K citations
Structured Systems Analysis: Tools and Techniques
Michael Jackson · The Computer Journal · 1980 · 375 citations · Full text
A refactoring tool for smalltalk
Don Roberts, John Brant, Ralph E. Johnson · Theory and Practice of Object Systems · 1997 · 355 citations
Case Study: Extreme Programming in a University Environment
2001 · 149 citations
Human factors and typography for more readable programs
Applied Ergonomics · 1991 · 145 citations