Nous avons donc cet énorme fichier source (11000 lignes énorme?) Mainmodule.cpp dans notre projet et chaque fois que je dois le toucher, je grince des dents.
Comme ce fichier est si central et volumineux, il continue d'accumuler de plus en plus de code et je ne peux pas penser à un bon moyen de le faire commencer à rétrécir.
Le fichier est utilisé et modifié activement dans plusieurs (> 10) versions de maintenance de notre produit et il est donc très difficile de le refactoriser. Si je devais "simplement" le diviser, disons pour commencer, en 3 fichiers, la fusion des modifications des versions de maintenance deviendrait un cauchemar. Et aussi, si vous divisez un fichier avec une histoire aussi longue et riche, le suivi et la vérification des anciens changements de l' SCC
historique deviennent soudainement beaucoup plus difficiles.
Le fichier contient essentiellement la "classe principale" (répartition et coordination du travail interne principal) de notre programme, donc chaque fois qu'une fonctionnalité est ajoutée, elle affecte également ce fichier et chaque fois qu'elle se développe. :-(
Que feriez-vous dans cette situation? Avez-vous des idées sur la façon de déplacer de nouvelles fonctionnalités vers un fichier source séparé sans perturber le SCC
flux de travail?
(Remarque sur les outils: nous utilisons C ++ avec Visual Studio
; nous utilisons AccuRev
comme SCC
mais je pense que le type de SCC
n'a pas vraiment d'importance ici; nous utilisons Araxis Merge
pour faire la comparaison et la fusion de fichiers)