空的抽象类是一种不好的做法吗,为什么?

2022-09-03 16:33:44

我们在代码库中有几个空的抽象类。我觉得这很丑陋。但是除了这个非常愚蠢的原因(丑陋),我应该重构它(例如,到空界面中)吗?

否则,代码是健壮的,并且经过了充分的测试。因此,如果只是出于“美学”原因,我将通过并让空的抽象类保留下来。

你觉得怎么样?

编辑:

1)通过“空抽象类”,我的意思是这样的:

public abstract class EmptyAbstractClass {}

2)“空虚”的原因:冬眠。我根本没有掌握这个持久性框架。我只是知道接口不能映射到表,并且由于这种技术原因,类比接口更可取。


答案 1

在这种情况下,接口是首选,因为它使您的代码更易于维护。也就是说,您只能扩展一个类,但可以实现许多接口。

如果现在绝对没有直接影响,我不会碰它。如果出现需要您进行更改的维护事件,那么我会重构它,因为我已经在代码中了。

换句话说,如果它没有坏,就不要修理它。


答案 2

要问的问题是:“我想用这些代码做什么,我不能做,或者发现很难做,因为这些空的抽象类在那里?如果答案是“没有”,你应该不理会他们。如果答案是“某物”,那么删除它们可能是值得的 - 但如果可以的话,请先与创建它们的人交谈,以确保它们没有一些微妙的目的。例如,也许您的代码使用反射来查找特定 ABC 的所有实例,并对它们执行特殊操作,在这种情况下,您的重构可能会以微妙的方式破坏代码。


推荐