我经常看到人们明确地调用super()一个没有明确扩展任何东西的类.
public class Foo
{
public Foo()
{
super();
//do other constructor stuff
}
}
Run Code Online (Sandbox Code Playgroud)
现在我知道这是完全合法的,如果省略,编译器会添加调用,但我仍然认为这是不好的做法.每当我看到这个,我想知道程序员是否对继承有误解,以及所有类都隐式扩展的事实Object.
我应该将其添加到我们的编码标准/最佳实践中吗?当我看到他们这样做时,我是否应该将我团队中的其他开发人员拉出来?它是我个人的错误熊,但我不知道我是否只是挑剔.
Ber*_*t F 20
虽然我是一个一致的人,但我也反对微观管理每一种风格.拥有大量的编码约定,特别是当其中一些似乎是任意的时,是阻止人们遵循它们的一部分.我认为编码指南应该简化为提高功能的最有价值的实践.通过强制实施这一做法,可读性,可维护性,性能等提高了多少?
虽然我的个人做法是不要super()在这种情况下打电话,但是我认为它不够严重,我不会将其包含在编码指南中,或称其为审查其他程序员代码时的缺陷.然而,我仍会提及它,并在代码评论中讨论它(不是缺陷,只是作为一种风格问题),试图游说更多的工程师不要使用电话.
它会暗中得到调用,所以没有必要做这个