我经常看到人们在没有显式扩展任何内容的类中显式调用 super()
。
public class Foo
{
public Foo()
{
super();
//do other constructor stuff
}
}
现在我知道这是完全合法的,如果省略,编译器会添加调用,但我仍然认为这是不好的做法。每当我看到这个时,我想知道程序员是否对继承有一些误解以及所有类都隐式扩展 Object
这一事实。
我是否应该将此添加到我们的编码标准/最佳实践中?当我看到团队中的其他开发人员这样做时,我是否应该召集他们这样做?这是我的个人问题,但我不知道我是否只是挑剔。
最佳答案
虽然我是一个全力追求一致性的人,但我也反对对风格的每一点进行微观管理。拥有大量的编码约定,尤其是当其中一些看起来随意时,是阻止人们遵循它们的部分原因。我认为应该将编码指南简化为最有值(value)的实践,以提高能力。通过强制执行此做法,可读性、可维护性、性能等提高了多少?
虽然我个人的做法是不在这种情况下调用super()
,但它还不够严重,我不会将其包含在编码指南中或调用它审查其他程序员代码时的缺陷。然而,我仍然会在代码审查中提及它并讨论它(不是作为缺陷,只是作为风格问题)试图游说更多工程师不要使用该调用。
关于java - 在不扩展任何内容的类中调用 super() 是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679314/