Code Refactoring

Module Code
CS2304
Module Coordinators
Klaus-Dieter Quibeldey-Cirkel
Teachers
Klaus-Dieter Quibeldey-Cirkel
Short Description
The course passes on practical knowledge on refactoring. In exercises with refactoring tools, students learn how to increase their code productivity and to improve the quality of the source code.
Learning Objectives

Refactoring is a technique to improve the structure of code without changing its functional behaviour. Students learn this new approach to object-oriented programming that will increase their code productivity. The course imparts a practical knowledge on software refactoring. In exercises with refactoring tools, students learn how to increase their code productivity and to improve the quality of the source code. They are able to to measure the effort and to adapt or to expand legacy systems.

Contents
  • Methods of code redevelopment
  • Principles of refactoring
  • Test-first approach with xUnit
  • Refactoring techniques with Eclipse
  • Refactoring catalogues
  • Refactoring techniques in large-scale software projects
Duration in Semester
1
Instruction Language
German
Total Effort
6 CrP; an estimated 180 hours, of which approximately 60 are spent in class.
Weekly School Hours
4
Method of Instruction

Practical Course 1 SWS, Seminar 1 SWS, Simulation game 2 SWS

Requirements for the awarding of Credit Points

Examination prerequisite: 1 certified written exercise

Examination: Written exam or realization of project tasks

Evaluation Standard
according to examination regulations (§ 9)
Availability
Yearly
References
  • M. Fowler: Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional
  • R. C. Martin: Working Effectively with Legacy Code, Prentice Hall
  • R. C. Martin: Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall International
Prerequisite Modules