建议重构的Python工具

10 投票
5 回答
2746 浏览
提问于 2025-04-15 11:14

在研究一些老旧的Python代码和自己写Python代码的时候,我经常会用到pylint。我还在使用Clone Digger。最近我开始使用rope,这是一个可以自动重构代码的库。

不过,我想找一些其他的工具,而不是rope。我希望有一个工具可以给出一些关于代码重构的建议:告诉我重构的名称, optionally 提供一个简短的描述(这对学习很有帮助),突出显示代码的相关部分,然后让我自己来进行重构。有没有这样的工具呢?

5 个回答

1

我不知道这种工具在特定的编程语言中是否存在,不过这个概念在马丁·福勒的重构书里提到过(网页链接)。

我知道的目前最好的工具是圈复杂度。这篇文章实现了一个用于计算Python代码圈复杂度的工具。

另外一个简单的指标是方法/函数的长度、对象/类的属性数量,以及函数的参数数量。如果我没记错的话,pylint已经可以统计这些了。

2

你可能会喜欢 Pythoscope,这是一个自动生成Python单元测试的工具,它可以通过动态执行代码来帮助你快速建立一个单元测试套件。

另外,你有没有看过 rope.contrib.codeassist 这个模块?它可以自动建议并执行你源代码的重构。

2

看看这个自行车修理工的项目 http://bicyclerepair.sourceforge.net/

什么是自行车修理工? 自行车修理工项目是为了给Python编程语言创建一种重构浏览器功能的尝试。它被打包成一个库,可以添加到一些编程环境(IDE)和编辑器中,以提供重构的功能。这个包里还包含了Emacs和Vi的支持。

我自己没用过,但听说过这个项目。听起来正是你需要的东西。

撰写回答