C ++:清理代码

时间:2011-01-04 03:33:50

标签: c++

我将重新开始处理我几个月前暂停的项目。

总体设计并不差,不需要从头开始重写,但是有很多我不喜欢的东西,这主要是因为我写的很匆忙(没有评论和幻数到处都是...)因为我使用C ++工具的方式在同时被改变了(我说改进了)(我倾向于使用更多的引用,智能指针,STL,boost,......)。

我认为这是清理代码的最佳时机:这样做有助于我再次进入代码。


我有两个关于清理它的问题:

  • 为了改进急需编写的代码,需要解决哪些问题? 比如删除魔术数字,添加注释,将太大的功能划分为更小的功能以及用更智能的对象替换原始指针/数组......

  • 有没有工具可以帮我发现这些(和其他)脏件?

4 个答案:

答案 0 :(得分:2)

CPD,复制粘贴检测器:http://pmd.sourceforge.net/cpd.html

我用它来查找重复的代码,所以我可以清理它。这有助于遵循DRY原则 - 不要重复自己。

答案 1 :(得分:2)

我建议将魔术数字修改为你的第一步。修复它们应该使您在重复代码的位置或函数可能适合的地方更加明显。

答案 2 :(得分:1)

这取决于您使用的IDE。一些VS SKU提供了很好的工具,如Style和FxCop。 Eclipse和Idea也有类似的插件。

答案 3 :(得分:0)

你所说的一切听起来都不是那么糟糕。

尝试为您的代码编写单元测试,然后您将看到它有多糟糕。如果接近100%的覆盖率,您的代码就会非常好。 如果它低于50-60%,我会开始担心,如果很难添加新东西。

为此,您需要一个工具来衡量单元测试所涵盖的代码。