在python中添加墓碑

时间:2014-06-28 08:07:22

标签: python code-maintainability

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

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

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

2 个答案:

答案 0 :(得分:1)

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

代码覆盖率工具

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

为此,您必须通过大量测试运行代码,确保可以在实际部署方案中运行的代码的每个部分实际运行。代码覆盖率工具将告诉您剩下的内容"。

Coverage.py是我之前使用过的。

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

静态分析

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

动态语言(如python)中静态分析的问题是,很难确定源代码中正在运行/使用的代码。有些东西很容易静态发现(例如,未定义的变量,尽管有一些警告),但有些情况则不那么严重。请看以下示例:

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

l = [A(), B()]

print l[0].value

如果没有实际运行代码,静态分析器将很难确定B.value从未使用过,并且列表索引不可能来自用户输入。

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

答案 1 :(得分:-1)

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