Zitat:
Zitat von ragtek Auf div. Seiten und Büchern liest man zum Thema Refaktoring, dass man entweder den Reafktoring Hut, oder den Entwicklungs Hut aufhat. |
wo liest du das?
Typischerweise gehen Leute wie Martin Fowler oder der Mitbegründer(-denker) der agilen Programmierung Kent Beck davon aus, dass immer und sofort (und das genau
im Entwicklungs-/Implementierungsprozess), wenn du in der konkreten Entwicklungsphase 'Code Smells' (entstanden aus einer Geschichte der Großmutter von Kent Beck) findest (riechst), der Umstrukturierungsprozess erfolgen soll. Also existiert keine Trennung von Entwicklung und Refaktorisierung. Auch nicht zeitlich.
Nicht umsonst gibt es heute die -zumindest für typgeprüfte Sprachen- schon gut funktionierenden Refaktorisierungstools, in Eclipse oder Netbeans u.a., die helfen sollen, den Code zu einem besseren Design zu verhelfen, ohne seine Bedeutung, seine Semantik zu verändern.
Genau diese Code Smells sind es ja, die nach Meinung von Beck und Fowler die neu geforderten Features des Kunden im nachhinein schwer integrieren lassen.
Man kann streiten, ob der Ansatz (vor allem verwirklicht in der agilen Programmierung, die ja in einigen Büros heute betrieben wird) ausreicht und in welchen Zusammenhängen er wirklich greift. M.E. vor allem genau im Webbereich, in dem der Kunde gerne mal eben "alles umwirft", weil er gerade "was viel besseres" gesehen hat. In großen Firmen, in denen alles nach ISO Norm dingdsa007 abgesichert sein muss, versucht -meiner Erfahrung nach- heute oft der einzelne/die einzelne Programmier/in zwar, diesen Ansatz von Fowler zu verwirklichen, jedoch ist man/frau da verstrickt in einen noch vollständig anderen Denkansatz von Planen, Entwickeln, Testen, Ausliefern, der wenig Spielraum zulässt.