Pylint - 区分新错误和旧错误
有没有人知道怎么在Pylint的报告中区分新错误(最近一次运行时发现的错误)和旧错误(之前已经发现的错误)呢?
我在一个比较大的项目中使用Pylint,结果报告了很多错误(尽管我在配置文件中关闭了很多)。在我逐步修复这些错误的同时,也很重要的是不要引入新的错误。但是,Pylint生成的HTML报告和“可解析”报告并没有区分新错误和旧错误,尽管我使用了persistent=yes
这个选项。
目前,我是手动比较旧报告和新报告。不过,如果Pylint能以某种方式突出显示最近一次运行中发现的错误,而这些错误在之前的运行中没有被发现,那就太好了。请问有没有办法通过Pylint或其他现有工具做到这一点?因为如果没有的话,我可能得自己写个比较和报告生成的工具。
2 个回答
0
在开发分支上运行pylint,发现了x个错误。
在主分支上运行pylint,发现了y个错误。
如果y大于x,那就说明你有新的错误出现了。
你可以在持续集成的过程中做这些检查,也就是在代码合并到主分支之前。
4
有两种基本的方法。第一种是当错误出现时立即修复,这样就不会有旧的错误了。第二种是如果你不打算修复某些类型的错误,可以告诉检查工具不要再报告这些错误。
如果你有很多文件,建议为每个文件单独生成一个错误报告,然后把这些报告提交到版本控制系统,比如svn。接着,你可以使用版本控制系统的差异工具来区分新出现的错误和之前就存在的错误。为每个.py文件生成单独的报告,可以让你更容易阅读差异输出。
如果你使用的是Linux,可以用 vim -d oldfile newfile
来查看差异。如果你在Windows上,可以直接使用Tortoise SVN自带的差异功能。