在Python中添加墓碑

1 投票
2 回答
858 浏览
提问于 2025-04-18 11:24

编辑:显然我说的并不是“墓碑”。这个词是我从这个视频里学到的:https://www.youtube.com/watch?v=29UXzfQWOhQ

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

有没有现成的python库可以用来创建和管理这些“墓碑”?如果没有,你有什么建议可以帮我自己做这样一个库吗?

2 个回答

-2

我推荐使用Pycharm社区版:http://www.jetbrains.com/pycharm/download/
这个软件是免费的,功能强大,是一个很好的编程环境,能帮你检查代码,还有很多其他实用的功能。

1

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

代码覆盖工具

这涉及到使用一种工具来检测某段代码是否真的被执行过。这被称为代码插桩。

为了让这个工具有效,你需要通过一系列全面的测试来运行代码,确保在实际使用中可能运行的每一部分代码都被执行到。然后,代码覆盖工具会告诉你哪些代码是“多余的”。

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

这里的问题是,如果你还没有那套全面的测试用例,你就得自己写一套。

静态分析

静态分析是指检查源代码,以推测可能出现的运行时问题。

在像Python这样的动态语言中,静态分析的一个问题是,仅凭源代码很难判断哪些代码正在被运行或使用。有些问题比较容易发现(比如未定义的变量,尽管这也有一些注意事项),但有些就不那么容易了。看看下面这个例子:

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

l = [A(), B()]

print l[0].value

如果不实际运行代码,静态分析工具很难判断 B.value 是否从未被使用,而且如果列表索引来自用户输入,那就更难了。

在Python中,静态分析的选择不多,但还是有一两个工具可以用。Vulture就是一个例子,但正如我所说,它的准确性可能不高。

撰写回答