编辑:显然我所说的并不是一个墓碑。我从这段视频中得到了这个词:https://www.youtube.com/watch?v=29UXzfQWOhQ
我正在开发一个复杂的django webapp,最近我开始考虑添加逻辑删除来检测旧的和未使用的代码。
是否有用于创建和管理墓碑的python库?如果没有,你对我建立这样的图书馆有什么建议吗?
答案 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,带有代码检查等等。