でより良いプログラミング スタイルはJava
何ですか?
たとえば、私が持っている場合:
SomeObject createObject();
void process(SomeObject o);
これは良いですか?
process(createObject())
また
SomeObject o = createObject();
process(o);
または、他の何か?それとも違いやデメリットはないのでしょうか?
でより良いプログラミング スタイルはJava
何ですか?
たとえば、私が持っている場合:
SomeObject createObject();
void process(SomeObject o);
これは良いですか?
process(createObject())
また
SomeObject o = createObject();
process(o);
または、他の何か?それとも違いやデメリットはないのでしょうか?
SomeObject
現在のスコープ内の別の場所への参照が必要な場合は、2 番目のスタイルを使用することをお勧めします。
SomeObject o = createObject();
process(o);
// use instance o some other way:
// o.setBase(10);
それ以外の場合は、最初のスタイルを使用する方がコンパクトです。
process(createObject());
それは要件によって異なります。 SomeObject が他の場所で使用されないことが確実な場合は、最初のアプローチを使用する必要があります。私はそれがプログラミングスタイルについて大したことではないと思います
任意のアプローチを使用できますが、結果を他のメソッドに渡す前にメソッドを呼び出すことをお勧めします。
そのため、以前に呼び出されたメソッドに例外があった場合、簡単に追跡できます。
このアプローチでは可読性もプラスになり、同じオブジェクト参照があればそれを使用して他のメソッドを呼び出すこともできます。
o
2番目のものには、呼び出し後に参照を使用できるという利点がありますprocess(o);
SomeObject o = createObject();
process(o);
// you can use o here, too
o
への参照がもう必要ない場合は、問題ありませんprocess(createObject());
。
読みやすさは 2 番目のバージョンの方が優れていますが、おそらく最初のバージョンを使用するでしょう。
(また、あなたが求めてcreateObject()
いる方法は方法でなければならないことに注意してくださいstatic
)