An innovative approach to teaching refactoring

  • Authors:
  • Suzanne Smith;Sara Stoecklin;Catharina Serino

  • Affiliations:
  • East Tennessee State University, Johnson City, Tennessee;Florida State University, Panama City, Florida;North Carolina Central University, Durham, North Carolina

  • Venue:
  • Proceedings of the 37th SIGCSE technical symposium on Computer science education
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.