1

编辑:显然我所说的不是墓碑。我从这个视频中得到了这个词:https ://www.youtube.com/watch?v=29UXzfQWOhQ

我正在开发一个复杂的 django webapp,最近我开始考虑添加墓碑来检测旧的和未使用的代码。

是否有用于创建和管理墓碑的 python 库?如果没有,您对我建立这样的图书馆有什么建议?

4

2 回答 2

1

这听起来像是一个死代码问题。你有两个选择:

代码覆盖工具

这涉及使用可以检测特定代码何时实际运行的工具。这称为代码检测。

为此,您必须通过一组广泛的测试来运行代码,以确保可以在实际部署场景中运行的代码的每一部分都实际运行。然后代码覆盖工具会告诉你什么是“剩余的”。

Coverage.py是我以前使用过的一个。

这里的问题是,如果您还没有那个广泛的测试套件,那么您将不得不正确的一个。

静态分析

静态分析涉及检查源代码以尝试推断可能发生的运行时问题。

使用像 python 这样的动态语言进行静态分析的问题是,很难仅从源代码中确定正在运行/使用的代码。有些事情很容易静态地发现(例如未定义的变量,尽管有一些警告),但有些事情则不然。举个例子:

class A:
    value = 1
class B:
    value = 2

l = [A(), B()]

print l[0].value

如果不实际运行代码,静态分析器将很难解决B.value从未使用过的问题,而且列表索引不可能来自用户输入。

在 python 中,静态分析的选项并不多,但有一两个工具可供选择。 秃鹰就是一个例子,但正如所说,它不会是非常正确的。

于 2014-06-28T11:32:34.223 回答
-1

我推荐 Pycharm 社区版: http: //www.jetbrains.com/pycharm/download/
它是免费且功能强大的 IDE,具有代码检查等功能。

于 2014-06-28T11:43:51.643 回答