如何分析Python代码以找出问题区域?

时间:2020-03-06 14:25:04  来源:igfitidea点击:

我有一个跨多个项目的大型资源库。我想生成一份有关源代码运行状况的报告,以确定需要解决的问题区域。

具体来说,我想找出循环复杂度高的例程,确定重复性,并可能进行一些类似于皮棉的静态分析,以发现可疑的(因此可能是错误的)构造。

我应该如何构建这样的报告?

解决方案

对于静态分析,有pylint和pychecker。我个人使用pylint,因为它似乎比pychecker更全面。

对于圈复杂度,我们可以尝试使用此perl程序,或者本文介绍了python程序来执行相同的操作

感谢Pydev,我们可以真正轻松地将pylint集成到Eclipse IDE中,并且每次保存修改后的文件时都可以获得代码报告。

为了测量圈复杂度,traceback.org提供了一个不错的工具。该页面还很好地概述了如何解释结果。

pyint +1. 它非常适合验证对编码标准(PEP8或者我们自己组织的变体)的遵守情况,最终可以帮助降低循环复杂性。

有一个工具叫做
CloneDigger,可查找类似的代码段。

当我们需要了解新项目时,Pycana就像魅力一样工作!

PyCAna (Python Code Analyzer) is
  a fancy name for a simple code
  analyzer for python that creates a
  class diagram after executing your
  code.

看看它怎么运作:
http://pycana.sourceforge.net/

输出:

替代文字http://pycana.sourceforge.net/relations.png