递归代码检查器(Python)

3
我使用pyflakes和pylint对我的代码进行静态检查,但是它们并没有太大用处,因为它们不会深入到输入文件所使用的文件中。例如,如果我在使用另一个文件中的函数时有拼写错误,这些程序会毫不知情地报告没有错误。此时它们对我来说就变得没用了。有更好的替代方案吗?我想如果我使用eclipse,在编写代码时可以帮助我消除这些拼写错误,但我正在使用emacs编码。是否有我可以在emacs中使用的选项/工具?我刚刚发现在我的代码运行几分钟后报告了一个拼写错误。
编辑:为了澄清,这里是代码目录结构 -
src/
  driver.py
  DB/
    DBHelper.py
  Analyze/
    file1.py
    file2.py
  Helper/
    HelperClasses.py

driver.py是代码运行的位置,它使用其他列出的文件中的代码。

例如,file1.py使用HelperClasses.py中的一些函数,并且在使用函数名称时我打了一个拼写错误。在file1.py上运行pyflakes时不会报告任何错误,因为它在分析file1.py时无法看到HelperClasses.py。

我正在寻找一种工具,可以根据需要查看它所使用的其他文件。


“the files that the input file uses”和“我从另一个文件中使用的函数”是什么意思?您是否正在使用不同的模块并导入它们?如果是这样,您可能只需要在所有模块上运行静态代码检查器(尽管我自己对它们不太了解,无法提供具体信息)。 - Blckknght
@Blckknght - 我更清楚地阐明了我的问题。有什么建议吗? - user220201
1
好的,检查器必须区分“你的”其他文件和系统库。我认为最好的方法是编写一个小脚本并遍历整个源目录并检查其中的每个文件。或者也许那些检查器已经有了这个选项... - tobias_k
1个回答

4
你可以尝试使用 flake8 工具。我在 Sublime Text 中使用它作为插件,同时也支持 Emacs。
运行 flake8,只需要对任意目录或 Python 模块调用即可:
$ flake8 --max-complexity 12 coolproject

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接