Wenn du alle paar wochen all deinen Code auf deinen aktuellen Wissensstand updatest... dann laeuft man in Gefahr nie fertig zu werden, da man eigentlich nie auslernt und immer potential findet Code irgendwo schoener und besser strukturiert, wiederverwendbarer, etc zu machen.
Leider muss man sich in groesseren Projekten daran gewohenen, dass der Code eigentlich immer etwas unschoen ist und ein wenig 'stinkt'. Das kommt ganz automatisch wenn das Ziel ein funktionierendes Produkt ist und nicht der Schoenheitspreis fuer Code.
Gewisse Grundregeln sollten jedoch befolgt werden damit das ganze nicht aus den Ufern laeuft. Um sowas in grossen Projekten sicher zu stellen kann man z.B. Code Review Systeme benutzen.
Ich denke die Kunst ist es ein geeignetes Mass zu finden.
Es macht Spass eine generische Matrix Klasse fuer variable Datentypen und NxM Dimensionen zu schreiben, um die Vektorklasse als Spezialisierung davon zu formulieren. Wenn das ganze Programm jedoch nur Vector3f benutzt macht das ganze einfach nicht viel Sinn was das Endprodukt angeht. Aber gerade in Hobbyprojekten darf man ja auch mal Spass haben, nicht?