阅读大规模C ++代码的更好方法是什么?

时间:2018-01-11 11:12:24

标签: c++ open-source code-readability

最近,我正在学习一个名为Scylla的开源C ++项目,由Avi Kivity团队编写。 Scylla是一个与cassandra兼容的数据库。

在我阅读代码时,我可以通过一种方式来理解代码,就是在我感兴趣的地方添加print语句。主要是它对我来说,了解代码的逻辑非常有用。但有时我觉得它也有点不方便和耗时,因为随着阅读范围的扩大,我可能需要添加许多prints。如果我想维护它,我也可能需要经常在最新的上游分支上重新定位print-version-branch

我可以理解为什么原始代码确实有日志,并且没有直接向stdout发出print语句。即使它有日志,它也不会记录到处。毕竟,对于代码的贡献者,他们知道自己设计的逻辑。但对我来说,代码的新手,我需要每个可能的打印输出来帮助理解代码,否则我应该如何知道内部,特别是当没有足够的代码文档时?

我知道gdb,但我不认为在阅读不调试的代码时它不是一个好工具。

除了添加print语句外,还有更好的学习新代码的方法吗?

感谢

1 个答案:

答案 0 :(得分:0)

  

所以除了添加打印之外,还有更好的学习新代码的方法   声明?

是的,请使用您最喜欢的编辑器Ctags。与直接阅读相比,这将加快浏览不熟悉的代码。

另一种选择是使用Eclipse CDT。除了快速代码浏览,它还允许构建调用层次结构。这有时允许在学习新代码时替换gdb。