gpt4 book ai didi

c++ - 大型代码库的代码标准重构

转载 作者:太空狗 更新时间:2023-10-29 19:45:12 25 4
gpt4 key购买 nike

我的工作室有一个已经开发了 10 多年的大型代码库。我们开始使用的编码标准是在内部很少有开发人员的情况下开发的,而且早在我们不得不担心与 C++ 相关的任何类型的标准之前。

最近,我们在内部启动了一个小型研发项目,并更新了编码约定以更适合我们的环境。研发工作将集成到现有的项目代码中。我们面临的一个主要问题是,我们现在有两个工作领域的两个标准,现在代码库会交叉。我不希望工作室有两个标准,实际上我很乐意以一个标准向前推进。 (我们如何陷入这种情况的“方式”并不重要——重要的是我们是,我曾希望我们不会。)

问题是重构现有代码。我不太热衷于让两个代码库(一个相对较小,一个非常大)看起来不同。我有兴趣对现有代码库之一进行一些重构,使其符合其他标准。问题是,越小的代码库是 (IMO) 越理想的标准。

我开始四处寻找可以为我进行大规模重构的工具。我对重新安排和收紧代码不感兴趣。我有兴趣改变这样的事情

class my_class {}
....
class my_class A;

class MyClass {}
....
class MyClass A;

基本上是做函数/变量级别的重命名。我不想使用像 Visual Assist 这样的东西,因为那会花费很长时间。我有超过 10000 个源文件/头文件和数十万行代码。一次使用 VA 一节课会浪费时间,不值得付出努力。

我确实遇到了 Vera在关于 SO 的另一篇文章中。这似乎可以完成这项工作并且做得很好。我想知道是否有人在我所处的情况下有使用 Vera 的具体经验,或者对可能完成工作的工具有任何其他建议。我认为这个工具真正理解代码结构很重要,这样我们才不会最终以搜索/替换的方式重命名变量,因为如果不小心这样做会导致细微的错误。

编辑:虽然我的示例表明我要从在名称之间使用 _ 到驼峰式类型表示法,但我们换一种方式可能更有益。我真的在寻找一个有助于大规模重命名的通用解决方案。

谢谢。

最佳答案

我的过程是在每次有人接触给定模块时重命名。最终,所有模块都将被重构,但增量方法会导致更少的代码损坏(假设您有一套完整的测试。;))

关于c++ - 大型代码库的代码标准重构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/206811/

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