明示的に何も拡張していないクラスで、明示的にsuper()
を呼び出す人がよく見られます。何も拡張していないクラスでsuper()を呼び出すことは悪い習慣ですか?
public class Foo
{
public Foo()
{
super();
//do other constructor stuff
}
}
これは完全に正当なものであり、省略された場合、コンパイラによってコールが追加されますが、私はまだ悪い習慣と考えています。私はこれを見るたびに、プログラマーに継承の誤解があり、すべてのクラスが暗黙的にObject
に拡張されているのだろうかと思います。
これを私たちのコーディング標準/ベストプラクティスに追加する必要がありますか、私は彼らがそれを参照して私のチームで他のdevsをプルする必要がありますか?その個人的なバグは私のものですが、私がちょっと気まずいかどうかわかりません。
私はこの回答が気に入っています。コードレビューは、スタイルのポイントとしてこの問題に取り組むのに最適な場所だと思われ、プログラマが持つ可能性のある誤解を解消します。 – Qwerky