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' SCChistorique 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 SCCflux de travail?
(Remarque sur les outils: nous utilisons C ++ avec Visual Studio; nous utilisons AccuRevcomme SCCmais je pense que le type de SCCn'a pas vraiment d'importance ici; nous utilisons Araxis Mergepour faire la comparaison et la fusion de fichiers)