1

有没有很好的帮助/工具可以帮助我将一个庞大的班级分成几部分?代码很好地完成了它的工作,但是有一个超过 500 行的类是不舒服的。我相信它可以分成更小的部分。

这次我对python的一个工具感兴趣,但我确定它不算数。

4

4 回答 4

6

您为什么不能手动执行此操作?500 行并不多。我怀疑任何工具都能够在它所服务的目的范围内有意义地拆分一个类。我建议您自己将其拆分,并在使用时重新设计/重构代码。

于 2012-01-25T17:41:06.637 回答
1

首先,500行代码是什么让你“不舒服”?为什么你认为你只需要将班级分成两个新班级?也许这个类就很好(500 个并不大),或者,也许这个类需要分成 3 或 4 个不同的类。

如果没有更多信息,我会说一个工具不会帮助你,除非你能理解为什么你觉得需要把它分成更小的部分。没有工具会告诉你如何划分班级。

问问自己班级的单一职责是什么。如果你想出不止一个,那么至少应该按照职责划分班级。如果你想出 6 个,那么你有相当多的工作要做。

于 2012-01-25T17:58:36.657 回答
0

嗯,它计算你的意思是什么语言。与 python 之类的语言相比,你可以对 java 之类的语言进行更安全的自动重构(因为 python 的动态特性)。

在 Python 中使用自省是正常的(“pythonic”),getattr()而在 java 中使用内省更像是“除非必须,否则不要使用它”。这样的技术使得自动重构工具几乎不可能工作,因为它们无法检测所有关系。

无论如何,对于 java 和 python,我都使用Eclipse进行重构。它做得很好。对于 python,您将需要pydev插件或 aptana studio。

于 2012-01-25T17:43:47.133 回答
0

我找到了用于 java 的ExtC Visualizer,但还不能让它工作。

于 2012-01-30T13:38:04.180 回答