gpt4 book ai didi

c++ - 如何处理 11000 行 C++ 源文件?

转载 作者:IT老高 更新时间:2023-10-28 11:26:04 26 4
gpt4 key购买 nike

所以我们的项目中有这个巨大的(11000 行大吗?)mainmodule.cpp 源文件,每次我必须触摸它时,我都会畏缩。

由于这个文件如此中心和大,它不断积累越来越多的代码,我想不出一个好的方法让它真正开始缩小。

该文件在我们产品的多个 (> 10) 维护版本中使用并积极更改,因此很难重构它。如果我要“简单地”将其拆分为 3 个文件,那么从维护版本合并回更改将成为一场噩梦。此外,如果您拆分具有如此悠久和丰富历史的文件,跟踪和检查 SCC 中的旧更改历史突然变得更加艰难。

该文件基本上包含了我们程序的“主类”(主要的内部工作调度和协调),所以每次添加一个特性,它也会影响这个文件,每次增长。 :-(

在这种情况下你会怎么做?关于如何将新功能移动到单独的源文件而不弄乱 SCC 的任何想法工作流程?

(关于工具的注意事项:我们使用 C++ 和 Visual Studio ;我们使用 AccuRev 作为 SCC 但我认为 SCC 的类型在这里并不重要;我们使用 Araxis Merge 来做实际的比较和合并文件)

最佳答案

合并不会像将来获得 30000 LOC 文件那样成为一场噩梦。所以:

  1. 停止向该文件添加更多代码。
  2. 拆分它。

如果您不能在重构过程中停止编码,您可以将这个大文件 按原样 保留一段时间,至少不向其中添加更多代码:因为它包含一个“主类”您可以从它继承,并将具有重载函数的继承类保存在几个新的小而设计良好的文件中。

关于c++ - 如何处理 11000 行 C++ 源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3615789/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com