Das kann ich ehrlich gesagt nicht nachvollziehen. Man hat ein Projekt und spezifische Komponenten. Man legt sich ein
Package für die Komponenten an ...
Eigentlich hat man ja das Projekt und dann noch ein 2. Projekt für die Unittests (oder hast du keine Unittests?).
Solange man alleine arbeitet bekommt man das noch gut geregelt; so wie du das beschrieben hast.
Aber
im Team wird es schon schwieriger.
Unsere alte Versionsverwaltung (JediVCS) war z.B. ziemlich starr was die Pfade angeht.
Also blieben die Komponenten ausserhalb der Versionsverwaltung obwohl sie dazugehören.
Wenn ein Entwickler dann in einer Komponente einen Bugfix/eine Erweiterung vorgenommen hat, bedeutet das, dass er den Sourcecode per Mail an Alle verschickt hat mit Anweisungen was zu tun ist.
Wenn man gewohnt ist jedes Projekt einfach aus der Versionsverwaltung zu ziehen, dann sind solche Zusatzaufgaben doch recht störend.
Oder man zieht ein altes Projekt aus der Versionsverwaltung (der ursprüngliche Entwickler ist nicht mehr in der Firma) und dann stellt sich raus man muss noch 11 Komponenten installieren die aber irgendwo auf dem Fileserver liegen dann möchte man aber liebsten den Kopf auf den Tisch
Oder man holt eine alte Version eines Projekts und die Komponenten passen nicht zu dieser Version.
Weil Komponenten installiert werden müssen wird der schnelle Wechsel zwischen versch. Versionen behindert.
Im Team muss genau geregelt sein welche Komponenten benützt werden, wo sie liegen und jeder hat sie auf seinem Rechner installiert.
Diese Komponenten müssen Folgendes erfüllen:
* projektübergreifend einsetzbar
* hohe Qualität (keine Bugs, die die
IDE gefährden)
* Zustand "mature"; also so gereift, dass nicht zu erwaten ist dass sich das Interface der Klassen noch gross ändert
Es ist sicher kein Fehler dies auch als Einzelkämpfer so zu handhaben und zumindest zu wissen dass projektspez. Komponenten zum Problem werden können.