首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我如何知道代码中哪些部分从未使用过?

我如何知道代码中哪些部分从未使用过?
EN

Stack Overflow用户
提问于 2011-01-27 15:59:27
回答 11查看 54.6K关注 0票数 318

我有遗留的C++代码,我应该从中删除未使用的代码。问题是代码库太大了。

我如何找出哪些代码从未调用过/从未使用过?

EN

回答 11

Stack Overflow用户

发布于 2011-01-27 16:27:12

我想您正在寻找一个code coverage工具。代码覆盖工具将在代码运行时分析代码,它将让您知道哪些代码行执行了多少次,以及哪些代码行没有执行。

您可以尝试一下这个开源的代码覆盖工具: C/C++和C#的TestCocoon代码覆盖工具。

票数 18
EN

Stack Overflow用户

发布于 2011-01-27 18:00:34

我自己没有用过它,但是cppcheck声称可以找到不用的函数。它可能不会解决完整的问题,但它可能是一个开始。

票数 13
EN

Stack Overflow用户

发布于 2011-01-27 23:26:31

在不导致编译错误的情况下,将尽可能多的公共函数和变量标记为私有或受保护的,同时,尝试也重构代码。通过将函数设置为私有的并在某种程度上受到保护,您可以缩小搜索区域,因为私有函数只能从同一个类中调用(除非有愚蠢的宏或其他技巧来规避访问限制,如果是这样的话,我建议您找一份新工作)。确定您不需要私有函数要容易得多,因为只有您当前正在处理的类才能调用此函数。如果您的代码库具有较小的类并且是松散耦合的,则此方法更容易。如果您的代码库没有小类或耦合非常紧密,我建议先清理这些类。

下一步是标记所有剩余的公共函数,并制作一个调用图来弄清楚类之间的关系。从这棵树中,试着找出树枝的哪一部分看起来可以修剪。

这种方法的优点是你可以在每个模块的基础上做它,所以当你的代码库损坏时,很容易保持通过你的单元测试,而不会有很长一段时间。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4813947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档