当前位置:  开发笔记 > 编程语言 > 正文

对大型代码库进行代码标准重构

如何解决《对大型代码库进行代码标准重构》经验,为你挑选了1个好方法。

我的工作室拥有超过10年的大型代码库.我们开始使用的编码标准是在内部开发人员很少的情况下开发的,早在我们不得不担心与C++相关的任何标准之前.

最近,我们在内部开展了一个小型研发项目,我们更新了我们的编码惯例,使其更适合我们的环境.研发工作将集成到现有项目代码中.我们面临的一个主要问题是,我们现在对这两个工作领域有两个标准,现在代码库将会交叉.我不想在工作室有两个标准,我真的很乐意用一个标准来推进.(我们如何进入这种情况的"方式"并不重要 - 只是我们是,而且我曾希望我们不会这样做.)

问题是重构现有代码.我不太热衷于有两个代码库(一个相对较小,一个非常大)看起来不同.我有兴趣对现有的一个代码库进行一些重构,使其符合其他标准.问题是,较小的代码库是(IMO)更令人向往的标准.

我开始寻找可以为我做大规模重构的工具.我对重新排列和收紧代码不感兴趣.我有兴趣改变这样的事情

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

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

基本上做功能/变量级重命名.我不想使用像Visual Assist这样的东西,因为这需要很长时间.我有超过10000个源/头文件,包含数十万行代码.一次使用VA一个类将是一个时间杀手,不值得努力.

我确实在另一篇关于SO的帖子中遇到了Vera.这似乎可以完成这项工作并做得很好.我想知道是否有人具有使用Vera的特定经验,以了解我所处的情况,或者对可能完成工作的工具有任何其他建议.我认为这个工具实际上理解代码结构很重要,这样我们就不会只是以搜索/替换方式重命名变量,因为如果不仔细完成,这将导致细微的错误.

编辑:虽然我的例子显示我将从名称之间使用_转换为camelcase类型表示法,但对我们来说,移动另一种方式可能更有利.我真的在寻找一种有助于大规模重命名的通用解决方案.

谢谢.



1> Paul Nathan..:

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

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有