am 20. Mai 2009
Wir haben Mittwoch und ich habe diese Woche noch nichts dazugelernt. Ich glaube meine Theorie vom Montag war also nicht ganz so richtig. Aber wie Cem schon gesagt hat, man sollte sich seine Fehler eingestehen, was ich hiermit gemacht habe. Ich glaube zwar nicht, dass sich jemand von euch an meine Aussage erinnert, ich mache es aber trotzdem. Wenn ich Smileys nicht so hassen würde, würde ich hier ein zwinkerndes hinmachen.
So schon fast einen ganzen Artikel geschrieben und noch nichts gesagt, scheint wohl meine Spezialität zu sein. Genug geschwafelt, fangen wir an, denn heute möchte ich ein paar Sätze zum Thema Refactoring verlieren. Es ist ein Buzzword, das man in letzter Zeit immer wieder hört. Und das zurecht! Aber worum geht es dabei eigentlich? Ich versuche mich mal in der Definition. Halb aus der Erinnerung, halb aus meinem Verständnis heraus.
Refactoring ist die Verbesserung der Codequalität ohne dabei die Funktionalität zu verändern.
Bitte zitiert mich aber nicht, das ist wirklich nur meine Definition. Eigentlich geht es ja nur darum, dass man sich ein Stück Code nimmt und dieses so umschreibt, dass es schneller, besser oder einfach nur aktueller ist, ohne dabei das Verhalten nach außen zu zu verändern.
Wer jetzt denkt: “Wow! Refactoring rockt, dass muss ich gleich ausprobieren”, der sei gewarnt. Um seinen Code mit gutem Gewissen umzuschreiben, dem seit eine hohe Testabdeckung mit Unit Tests ans Herz gelegt. Aber ihr kennt das wahrscheinlich selbst, ihr habt eine Methode und ihr wisst nicht ganz genau, wie sie funktioniert, wollt sie aber umschreiben. Ihr habt also keine Ahnung, ob es irgendwelche Seiteneffekte gibt. Jetzt wäre es natürlich toll, wenn ihr die möglichen Anwendungsfälle über Tests bereits prüft. Ansonsten ist es wirklich ein Glücksspiel. In den meisten Projekten wird es diese Abdeckung leider nicht geben, deswegen gibt es da ein paar andere Tricks, die man beherzigen kann. Auf diese will ich aber heute noch nicht eingehen. Kommt aber in der nächsten Zeit.