如何按用途自动对类中的函数进行排序?

2024-04-13

a)Robert C. Martin 的《Clean Code》一书建议根据“降级规则”对函数进行排序:

我们希望代码读起来像自上而下的叙述。我们想要每一个 函数之后是下一个抽象级别的函数,因此 我们可以读取该程序,下降一个抽象级别 我们阅读函数列表的时间。我称之为“降级” 规则。

b)PyCharm 允许显示函数按字母顺序排列的结构视图中的顺序。另请参阅PyCharm 可以按字母顺序对方法进行排序吗? https://stackoverflow.com/questions/45883520/can-pycharm-sort-methods-alphabetically因此,有无需按字母顺序手动对函数进行排序我可以将类中的函数顺序用于不同的目的。

c)到目前为止我手动按用途/抽象级别/调用堆栈对它们进行排序。 (我还将静态和公共函数放在顶部,以“_”开头的函数放在下面。我将属性放在函数下面。)但是,我团队中的一些同事不知道该顺序或可能遵循不同的顺序。

d)代替manually按用途/抽象级别/调用堆栈对函数进行排序,我更喜欢类似于的工具black(不幸的是,黑色不对函数进行排序 https://github.com/psf/black/issues/3029),进行格式化/排序工作自动地为我们节省行动。 (相应单元测试的顺序应与函数的顺序相同。)

=>我如何在 PyCharm 中实现这一目标?有没有一些code/plugin 我可以从已经了解使用顺序/调用树开始吗?


作为实际重新排列代码的替代方法,显示调用层次结构(PyCharm 中的 Ctrl + Alt + H)Callees可能会有帮助。

调用层次结构无需启动调试器即可使用(索引完成后)。

为了导航到被调用函数,可以展开被调用函数并单击“调用层次结构视图”中的第一个条目(“孙子”)。

(当然也可以通过按住 Ctrl 键并单击编辑器内的函数来进行导航。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按用途自动对类中的函数进行排序? 的相关文章

随机推荐