Итак, у нас есть этот огромный (11000 строк огромный?) исходный файл mainmodule.cpp в нашем проекте, и каждый раз, когда я должен прикасаться к нему, я съеживаюсь.
Поскольку этот файл является таким центральным и большим, он продолжает накапливать все больше и больше кода, и я не могу придумать хороший способ заставить его фактически начать сокращаться.
Файл используется и активно изменяется в нескольких ( > 10) версиях обслуживания нашего продукта, поэтому его рефакторинг действительно сложно. Если бы я просто "разложил" его, скажем, для начала, в 3 файла, то слияние обратно изменений с версий обслуживания станет кошмаром. А также, если вы разделите файл с такой длинной и богатой историей, отслеживание и проверка старых изменений в истории SCC
внезапно становится намного сложнее.
В основном файл содержит "основной класс" (основная внутренняя диспетчеризация и координация) нашей программы, поэтому каждый раз, когда добавляется функция, она также влияет на этот файл и каждый раз, когда он растет.: - (
Что бы вы сделали в этой ситуации? Любые идеи о том, как перенести новые функции в отдельный исходный файл, не нарушая рабочий процесс SCC
?
(Примечание по инструментам: мы используем С++ с Visual Studio
; мы используем AccuRev
как SCC
, но я думаю, что тип SCC
здесь не имеет особого значения: мы используем Araxis Merge
для выполнения фактических сравнение и слияние файлов)