Nous avons donc cette énorme (11000 lignes énorme?) mainmodule.cpp fichier source dans notre projet et à chaque fois que j'ai toucher je grincer des dents.
Comme ce fichier est donc centrale et des grands, il continue d'accumuler plus de et plus de code et je ne peux pas penser à une bonne façon de le faire réellement commencer à se rétrécir.
Le fichier est utilisé et activement changé dans plusieurs (> 10) les versions de maintenance de notre produit et il est vraiment difficile de refactoriser. Si je "simplement" les diviser, disons pour commencer, en 3 fichiers, puis de fusionner les modifications de versions de maintenance deviendra un cauchemar. Et aussi si vous partagez un fichier avec une longue et riche histoire, de suivi et de vérification vieux changements dans l' SCC
histoire devient tout à coup beaucoup plus difficile.
Le fichier contient essentiellement de la "main class" (principal travail interne de régulation et de coordination) de notre programme, de sorte que chaque fois qu'une fonctionnalité est ajoutée, il influe également sur ce fichier et à chaque fois qu'il grandit. :-(
Que feriez-vous dans cette situation? Toutes les idées sur la manière de faire de nouvelles fonctionnalités à un fichier source séparé, sans perturber le fonctionnement de l' SCC
flux de travail?
(Note sur les outils: Nous utilisons C++ avec Visual Studio
; Nous utilisons AccuRev
comme SCC
mais je crois que le type d' SCC
n'a pas vraiment d'importance ici, Nous utilisons Araxis Merge
faire de comparaison et fusion de fichiers)