在Python中添加墓碑
编辑:显然我说的并不是“墓碑”。这个词是我从这个视频里学到的: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就是一个例子,但正如我所说,它的准确性可能不高。