2024-06-11 18:25:23 发布
网友
编辑:显然我所说的并不是墓碑。我从这段视频中得到这个词:https://www.youtube.com/watch?v=29UXzfQWOhQ
我正在开发一个复杂的django webapp,最近我开始考虑添加逻辑删除来检测旧的和未使用的代码。在
有没有一个python库来创建和管理逻辑删除?如果没有,你对我建这样的图书馆有什么建议?在
这听起来像是一个死代码问题。你有两个选择:
代码覆盖工具
这涉及到使用一种工具来检测特定代码段何时实际运行。这就是所谓的代码插入。在
要实现这一点,必须通过一系列广泛的测试来运行代码,确保可以在实际部署场景中运行的代码的每个部分都实际运行。代码覆盖工具会告诉你什么是“剩余的”。在
Coverage.py是我以前用过的。在
这里的问题是,如果你还没有那么多的测试套件,你就得选对一个。在
静态分析
静态分析包括检查源代码,试图推断可能发生的运行时问题。在
在python这样的动态语言中进行静态分析的问题是,很难仅从源代码中确定运行/使用了哪些代码。有些东西很容易静态地发现(例如未定义的变量,尽管有一些警告),但有些则不那么容易。以下面的例子为例:
class A: value = 1 class B: value = 2 l = [A(), B()] print l[0].value
如果不实际运行代码,静态分析器将很难确定B.value从未使用过,而且不可能从用户输入中获得列表索引。在
B.value
在python中,用于静态分析的选项不多,但是有一到两个工具。Vulture是一个例子,但正如所说,它不会非常正确。在
我推荐Pycharm社区版:http://www.jetbrains.com/pycharm/download/ 它是一个免费的、强大的IDE,具有代码检查和更多功能。在
这听起来像是一个死代码问题。你有两个选择:
代码覆盖工具
这涉及到使用一种工具来检测特定代码段何时实际运行。这就是所谓的代码插入。在
要实现这一点,必须通过一系列广泛的测试来运行代码,确保可以在实际部署场景中运行的代码的每个部分都实际运行。代码覆盖工具会告诉你什么是“剩余的”。在
Coverage.py是我以前用过的。在
这里的问题是,如果你还没有那么多的测试套件,你就得选对一个。在
静态分析
静态分析包括检查源代码,试图推断可能发生的运行时问题。在
在python这样的动态语言中进行静态分析的问题是,很难仅从源代码中确定运行/使用了哪些代码。有些东西很容易静态地发现(例如未定义的变量,尽管有一些警告),但有些则不那么容易。以下面的例子为例:
如果不实际运行代码,静态分析器将很难确定
B.value
从未使用过,而且不可能从用户输入中获得列表索引。在在python中,用于静态分析的选项不多,但是有一到两个工具。Vulture是一个例子,但正如所说,它不会非常正确。在
我推荐Pycharm社区版:http://www.jetbrains.com/pycharm/download/
它是一个免费的、强大的IDE,具有代码检查和更多功能。在
相关问题 更多 >
编程相关推荐