それは、どんな意味で良いでしょうか?
上記以外の短いクリーンコードを評価すると、これは良好です。ここでは例です:
class Dog {
private String name;
private Type type;
public static enum Type {
large, medium, small;
}
初期化されていないObject
sがnull
として始めるので、これは動作します。空のコンストラクタも指定する必要はありません。
あなたが明快に価値が、それでも、その後
class Dog {
private String name = null;
private Type type = null;
public Dog() {}
public static enum Type {
large, medium, small;
}
}
、できるだけ短いコードを維持したい場合は、他の(経験の少ない)開発者は、値が何であるかをはっきりと見ることができ、およびコンストラクタは明確であるため、優れています定義された。将来的にロジックを追加するには値/ロジック
柔軟性から
:
も独自の利点があり、コンストラクタで定数値を初期化しますそれぞれの状況の長所と短所を評価し、好きなものを見てください。唯一の例外は、既存のコードベースで作業する場合です。この場合、規約/スタイルガイドを守ってください。
少なくとも、どちらもデフォルトでは「null」に設定されています。 – Marvin
ほんの少しだけはっきりしていますか? – user697911
私はそうは思いませんが、明らかにいくつかの人にとってはそうです。一方、私は一度、(非常に特殊なケースではあるが)バグ_caused by_の初期化を 'null'に追跡するのに数時間を費やした。 – Marvin