Mamy więc w naszym projekcie ten ogromny plik źródłowy mainmodule.cpp (11000 linii?) I za każdym razem, gdy go dotykam, kulę się.
Ponieważ ten plik jest tak centralny i duży, gromadzi coraz więcej kodu i nie mogę wymyślić dobrego sposobu, aby faktycznie zaczął się kurczyć.
Plik jest używany i aktywnie zmieniany w kilku (> 10) wersjach konserwacyjnych naszego produktu, więc naprawdę trudno jest go refaktoryzować. Gdybym miał „po prostu” podzielić to, powiedzmy na początek, na 3 pliki, to scalenie zmian z wersji serwisowych stanie się koszmarem. A także, jeśli podzielisz plik o tak długiej i bogatej historii, śledzenie i sprawdzanie starych zmian w SCC
historii nagle staje się znacznie trudniejsze.
Plik zawiera w zasadzie „klasę główną” (główne wysyłanie i koordynację pracy wewnętrznej) naszego programu, więc za każdym razem, gdy dodawana jest funkcja, wpływa ona również na ten plik i za każdym razem, gdy rośnie. :-(
Co byś zrobił w tej sytuacji? Jakieś pomysły na przeniesienie nowych funkcji do osobnego pliku źródłowego bez zakłócania SCC
przepływu pracy?
(Uwaga na temat narzędzi: używamy C ++ z Visual Studio
; Używamy AccuRev
jako, SCC
ale myślę, że rodzaj SCC
nie ma tu tak naprawdę znaczenia; Używamy Araxis Merge
do faktycznego porównywania i łączenia plików)