Refactoring

Refactoring

Beim Test-Driven Development arbeitet man in einem Red-Green-Refactor-Zyklus.

Zuerst schreibst Du Deine Erwartung als Testcode auf, dann machst Du diesen Test grün. Code zu schreiben, der funktioniert, ist schwer genug, deshalb scheitern wir oft daran, ihn gleichzeitig "hübsch" zu machen. Das ist der Grund, warum wir am Ende oft Code haben, der zwar funktioniert, aber schwer zu warten ist. Refactoring zur Rettung.

Martin Fowler erklärt es so:

"Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior."

Das funktioniert großartig, wenn der Code durch automatisierte Tests abgedeckt ist. Was aber, wenn eine Legacy-Anwendung keine Unit-Tests hat?

In ihrer Live Coding Session auf The Online PHP Conference, werden Arne und Stefan zeigen, wie man vorhandenen Code verbessern kann und dieses Refactoring durch Characterization Tests absichern kann.

Mehr über Stefan's und Arne's Live Coding Session