Testen und Refactoring von Legacy Code

Diese Schulung bieten wir zurzeit nur inhouse an. Bitte treten Sie mit uns in Kontakt:

Jeder Programmierer kennt das Problem:

Die Katze beißt sich in den Schwanz

Ein neues Feature muss ausgerechnet an einer Stelle in den Code eingebaut werden, vor der jeder im Team Angst hat. Natürlich hat sich an dieser Stelle seit langer Zeit auch nichts geändert. Bis er die Stelle gefunden hat, die er verändern und erweitern muss, vergehen einige Tassen Kaffee und viel Kopfschütteln: “Was soll denn das?”, “So macht man das doch nicht!”, “Was zur…?”, “Dafür gibt es keine Tests?” und schließlich “Das kann doch nie funktioniert haben!”

Was nun? Soll ich einfach die Änderung an die gefährliche Stelle dazu basteln? Das geht vielleicht schnell, aber der Code wird dann immer schlimmer. Soll ich zuerst einen Test schreiben? Aber wie? Ich komme von außen ja gar nicht an die Stelle heran. Ich müsste eigentlich erstmal refaktorisieren. Aber um sicher refaktorisieren zu können, hätte ich gerne einen Test.

Refactoring Legacy Code

Inhalte der Ein-Tages-Schulung

In dieser Schulung lernen Sie, wie Sie neue Anforderung in alten Code einbauen können, Sie erfahren, wie Sie Tests für Legacy Code schreiben und wie Sie aus kleinen Refactorings größere zusammensetzen, um Ihren Codebestand Schritt für Schritt zu verbessern.

Das Handwerkzeug

  • Unit-Tests und Mocking
  • Refactoring im Kleinen

Testen & Refactoring von Legacy Code

  • Das Problem des ersten Tests
  • Refactoring von typischen Anti-Patterns und Code-Smells

Legacy Code Refactoring Strategien

  • Großes vs. schrittweises Refactoring
  • Zielarchitektur
  • Einbettung in die tägliche Arbeit

Diese Fragen beantworten wir in der Schulung

  • Wie schreibe ich den ersten Test für schwer testbaren Code?
  • Wie kann ich Code ohne Tests sicher refaktorisieren?
  • Wie geht es weiter? Wie erstelle ich eine Testsuite für ungetesteten Code?
  • Zu welcher Architektur soll ich hin refaktorisieren?
  • Was soll ich refaktorisieren? Was nicht?
  • Woher kommt die Zeit fürs Refaktorisieren?

Aufbau der Schulung

Unsere Trainer vermitteln Ihnen Test- und Refactoring-Konzepte anhand von Programmierübungen, die Sie zu zweit im Pair-Programming bearbeiten. Alle Übungen sind in der Programmiersprache Java; Sie müssen aber kein Java-Expertenwissen mitbringen. Die Konzepte lassen sich leicht auf andere Sprachen übertragen. Daneben ist Raum für individuelle Fragen.

Trainer

Die Trainer dieser Schulung haben viel Erfahrung in agilen Projekten als Entwickler und technische Coaches. Sie helfen Entwicklerteams bei verschiedenen Kunden dabei, Legacy Code in wartbare Software zu refaktorisieren.