Code Refactoring

Modulnummer
CS2304
Modulverantwortlicher
Klaus-Dieter Quibeldey-Cirkel
Dozent
Klaus-Dieter Quibeldey-Cirkel
Kurzbeschreibung
Der Kurs vermittelt Kenntnisse und Erfahrungswissen über Refactoring-Methoden. In Übungen mit Refactoring-Werkzeugen lernen die Studierenden, ihre Code-Produktivität zu steigern und die Qualität ihres Quellcodes zu verbessern.
Qualifikations- und Lernziele

Code Refactoring ist eine Methode, um die interne Code-Struktur zu verbessern, ohne das funktionale Verhalten der Software zu ändern. Die Studierenden erlernen diese Herangehensweise an die objektorientierte Programmierung und Wartung, die ihre Selbstsicherheit fördert und die Qualität ihrer Code-Änderungen sichert. Nach Abschluss der praktischen Übungen an industriellen Fallbeispielen werden sie durch Refactoring ihre persönliche Code-Produktivität deutlich steigern können. Mit dem Wissen über Refactoring-Patterns sind die Absolventinnen und Absolventen dieses Kurses in der Lage, die Qualität von Software differenziert zu beurteilen und im Team zu kommunizieren. Sie sind in der Lage, den Aufwand zu bemessen, um Altsysteme anzupassen oder zu erweitern.

Lerninhalte
  • Reverse Engineering und Software-Metriken
  • Methoden der Code-Sanierung
  • Prinzipien des Refactoring
  • Test-First-Ansatz mit dem xUnit-Framework
  • Refactoring mit der Open-Source-IDE Eclipse
  • Refactoring-Kataloge: "Bad Smells" im Code
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernformen

Vorlesung 2 SWS Praktikum 2 SWS

Geprüfte Leistung

Prüfungsvorleistung: 1 anerkannte Hausübung

Prüfungsleistung: Klausur oder Projektarbeit (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben)

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung (Teil I)

Häufigkeit des Angebots
Einmal im Jahr
Literatur
  • 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
Vorausgesetzte Module