作为程序员,我们读的比写的多。我开始在一家使用几个“大”Python 包的公司工作。具有高 KLOC 的软件包或软件包系列。举个例子:佐佩。
我的问题是我无法快速/轻松地导航此代码库。我目前的策略是
- 我开始阅读我需要更改/理解的模块
- 我遇到了一个我需要了解更多信息的导入
- 我通过在导入后放置 Python 调试 (pdb) 语句并回显模块来找出该导入的源代码在哪里,它告诉我它是源文件
- 我在 shell 或 Vim 文件资源管理器中导航到它。
- 大多数时候,模块本身会导入更多模块,在我知道之前,我已经“在我的盘子里”有 10KLOC
或者:
- 我看到一个我需要了解更多的方法/类
- 我在整个代码库中搜索(ack-grep)该方法/类的定义(这可能很痛苦,因为代码库部分位于 ~/.buildout-eggs 中)
- 我找到了定义该方法/类的一段或多段代码
- 我必须推断出其中哪一个是我需要阅读的
这会花费大量时间,这对于大型代码库是可以理解的。但我觉得导航一个庞大且未知的 Python 代码库是一个很常见的问题。
所以我正在寻找解决这个问题的技术工具或战略解决方案。...
我无法想象铁杆 Python 程序员会使用上述策略。