是否有一个很好的帮助/工具可以帮助我将一个庞大的班级分成几部分? 代码完成了它的工作,但是有一个超过500行的类是不舒服的。我相信它可以分成更小的部分。
这次我对python的工具很感兴趣,但我确信它不算数。
答案 0 :(得分:6)
为什么不能手动执行此操作? 500线并没有那么多要处理。我怀疑任何工具都能够在其服务目的的上下文中有意义地拆分一个类。我建议你自己拆分并重新设计/重构代码。
答案 1 :(得分:1)
首先,500行代码是什么让你“不舒服”?为什么你认为你只需要将课程分成两个新课程?也许这个类很好(500不是很大),或者,这个类可能需要分成3个或4个不同的类。
如果没有更多信息,我会说一个工具不会帮助你,直到你能理解为什么你觉得需要将它分成更小的部分。没有工具会告诉你 如何分割课程。
问问自己,班级的唯一责任是什么。如果你提出不止一个,那么这个班应该至少按照责任划分。如果你想出6,你需要做大量的工作。
答案 2 :(得分:0)
嗯,这取决于你的意思。与python等语言相比,你可以为像java这样的语言做更安全的自动重构(因为python的动态特性)。
在Python中使用getattr()
是正常的(“pythonic”)而在java中使用内省更像是“除非必须使用” / em>的。这些技术使自动重构工具几乎不可能工作,因为它们无法检测所有关系。
无论如何,对于java和python,我使用Eclipse进行重构。它做得很好。对于python,您需要pydev插件或aptana studio。
答案 3 :(得分:0)
我找到了ExtC Visualizer,这是针对java的,并且无法使其正常工作。