Quindi abbiamo questo enorme file sorgente mainmodule.cpp (11000 righe?) Nel nostro progetto e ogni volta che devo toccarlo mi faccio rabbrividire.
Poiché questo file è così centrale e grande, continua ad accumulare sempre più codice e non riesco a pensare a un buon modo per farlo effettivamente iniziare a ridursi.
Il file viene utilizzato e modificato attivamente in diverse (> 10) versioni di manutenzione del nostro prodotto, quindi è davvero difficile riformattarlo. Se dovessi "semplicemente" suddividerlo, diciamo per cominciare, in 3 file, quindi fondere le modifiche dalle versioni di manutenzione diventerebbe un incubo. E anche se dividi un file con una storia così lunga e ricca, rintracciare e controllare le vecchie modifiche nella SCC
storia diventa improvvisamente molto più difficile.
Il file contiene fondamentalmente la "classe principale" (invio e coordinamento del lavoro interno principale) del nostro programma, quindi ogni volta che viene aggiunta una funzione, influisce anche su questo file e ogni volta che cresce. :-(
Cosa faresti in questa situazione? Qualche idea su come spostare nuove funzionalità in un file sorgente separato senza creare confusione nel SCC
flusso di lavoro?
(Nota sugli strumenti: usiamo il C ++ con Visual Studio
; Usiamo AccuRev
come SCC
ma penso che il tipo di SCC
non abbia molta importanza qui; Usiamo Araxis Merge
per fare un confronto e una fusione effettivi dei file)