Vermutlich kennt es jeder – es gibt wahrscheinlich in jedem Unternehmen mindestens ein Projekt, das bereits seit Jahren/Jahrzehnten läuft und wächst und wächst und wächst…
Heute habe ich es mir zur Aufgabe gemacht, in allen Modulen die neueste Logging-Library einzusetzen. Kein Problem mit Maven – Versionsnummer anpassen und gut ist… oder auch nicht.
Aha, die Library X benötigt also eine Uralt-Version der Logging-Library. Aber die ist ja auch nicht auf dem neuesten Stand, macht also Sinn, diese auch noch zu aktualisieren. Ah, Library Y benötigt Library X aber in einer Uralt-Version. Seufz…! Das wird wohl was länger dauern.
________________
[vor ein paar Jahren]
Hmm, hier ist ein Unit-Test auskommentiert. Warum? Was zum… Was soll denn DER Kommentar?
/*
This testcase works.
*/
Ah ja, klar, wenn er funktioniert, kann man ihn ja auskommentieren… Moment mal, das ist ja gelogen! Der wird ja rot, wenn ich ihn laufen lasse!
________________
Diese Stelle hier könnte wirklich mal ein Refactoring gebrauchen, um übersichtlicher zu werden…Ich mach mal ein TODO dran.
________________
[neu im Projekt]
Ich schau für den Einstieg mal, was es so für TODOs gibt…WAS ZUM TEUFEL?
________________
Während der Suche nach einem Fehler stolpere ich über folgenden Kommentar:
// TODO: WTF?!?
Als ich den Kollegen diesen Kommentar vorlese, reagieren sie eher nüchtern. „Ist das in der Klasse X? Da bin ich letzte Woche auch schon dreimal drüber gestolpert.“ – „Ja die Klasse ist wie das unterste Hölzchen beim Jenga. Da traut sich keiner ran.“
Ich versuche die Klasse zu refactoren, gebe mich aber irgendwann geschlagen. Die Angst, den ganzen Jengaturm umzuwerfen, ist am Ende doch zu groß. So mache ich mich darauf gefasst, diesem und ähnlichen Kommentaren noch häufiger zu begegnen.