警告,这是一个纯粹的懒惰查询!随着我的项目的发展,一个类中的函数数量也在增加。我还有每个.py文件的一些类。所以我想做的是重新排序它们的功能名称是有组织的[对不起,英国在这里,我已经在Alphabetizing中以'z'进行了大量的妥协;-)]按字母顺序排列。
目前:
class myClass():
stuff
def __init__():
do stuff
def b():
also do stuff
def c():
do other stuff
def a():
do even more stuff
..为了便于查找,我想重新安排到:
class myClass():
stuff
def __init__():
do stuff
def a():
do even more stuff
def b():
also do stuff
def c():
do other stuff
纯粹出于美观的原因,因为它使搜索相关功能更加直观。我显然希望将 init ()等保留在类的顶部。
现在,我可以(但尚未)使用python脚本执行此操作,该脚本读取.py中的.py文本文件所在的.py并执行字符串操作。但我想知道有更好的方法吗?也许有一个我可以在某处使用的工具?我有一次很好的打猎,但我找不到任何可以使用的东西。
我正在使用emacs,所以也许有一个很大的5分钟组合序列可以完成魔术(eg),但我在python模式下看不到任何东西!
最后,我想要一些方法来可视化和宣传类结构/文档字符串。
当我说visualize structure时,我的意思是,例如,myClass.a()调用myOtherClass.g(),这将是一个链接,所以我能够看到什么调用什么,或者在类上逐个类(即myClass使用什么函数/类?)或整体(这里是一堆文件,他们如何'连接'?)
答案 0 :(得分:11)
我没有解决你的问题的方法,但我有一个非常强烈的意见:如果你的课程中的方法数量变得如此之大,你很难找到它们,你应该考虑减少数量,也许是通过拆分分为较小的一类。
适用于函数和方法的相同的内聚原则也适用于类。
答案 1 :(得分:4)
我不确定按名称排序方法是个好主意:
这就是你在浏览OLE对象时看到的内容,因为它们不是以同一个字母开头的,所以很难理解任何相关方法,因为它们不是以同一个字母开头的。
我宁愿在“关闭”之前看到“开放”,例如,中间没有所有其他无关的方法......
您的问题是列出/查看班级中的功能吗?
这是我在emacs中使用的一个简单技巧:
发生M-x
正则表达式:^ * def
尝试一下......(对于其他一些使用不同正则表达式的语言也是如此(例如:“^ sub”)