Jedes Mal, wenn ich ein Projekt erstelle, entwickle ich mehrere generische Routinen/Module/Bibliotheken, die ich in anderen Projekten verwenden werde.
Aufgrund der Geschwindigkeit der Entwicklung verbringe ich nicht viel Zeit damit, diese Module perfekt zu machen - gerade gut genug für dieses Projekt und gut genug dokumentiert und isolierbar, dass ich sie leicht einem anderen Projekt hinzufügen kann.
So weit, so gut.
Wenn ich sie nun in einem anderen Projekt verwende, verbessere ich sie zwangsläufig - entweder füge ich neue Merkmale/Funktionen hinzu, behebe Fehler, mache sie allgemeiner, usw.
An diesem Punkt habe ich mehrere Probleme:
- Ich muss die Änderungen im Modul für den Code, an dem ich gerade arbeite, beibehalten
- Ich muss dieselben Änderungen in einem zentralen "Modul"-Repository verwalten
- Ich muss sicherstellen, dass die aktualisierten Module verfügbar sind, aber nicht automatisch in älteren Projekten verwendet werden, oder manchmal sogar in bestehenden Projekten, an denen ich bereits arbeite.
Wie schaffen Sie das? Wie unterscheiden sich diese Probleme, wenn Sie Teams haben, die an verschiedenen Modulen in verschiedenen Projekten arbeiten?
-Adam