Таким чином, у нас є цей величезний (на 11000 рядків величезний?) Mainmodule.cpp вихідний файл у нашому проекті, і кожного разу, коли мені доводиться його торкатися, я стискаюся.
Оскільки цей файл настільки центральний і великий, він продовжує накопичувати все більше і більше коду, і я не можу придумати хорошого способу змусити його фактично почати скорочуватися.
Файл використовується і активно змінюється в декількох (> 10) версіях технічного обслуговування нашого продукту, тому його дуже важко переробити. Якщо я повинен був "просто" розділити його, скажімо для початку, на 3 файли, то об'єднання змін назад з технічними версіями стане кошмаром. А також, якщо ви розділите файл із такою довгою та багатою історією, відстежувати та перевіряти старі зміни в SCC
історії раптом стає набагато важче.
Файл, в основному, містить "основний клас" (основна внутрішня робота диспетчеризації та координації) нашої програми, тому кожен раз, коли додається функція, вона також впливає на цей файл і кожного разу, коли він росте. :-(
Що б ви зробили в цій ситуації? Будь-які ідеї, як перемістити нові функції в окремий вихідний файл, не псуючи SCC
робочий процес?
(Примітка до інструментів: ми використовуємо C ++ з Visual Studio
; ми використовуємо AccuRev
як, SCC
але я думаю, що тип SCC
насправді тут не має значення; ми використовуємо Araxis Merge
для фактичного порівняння та об’єднання файлів)