1

でより良いプログラミング スタイルはJava何ですか?
たとえば、私が持っている場合:

SomeObject createObject();

void process(SomeObject o);

これは良いですか?

process(createObject())また

SomeObject o = createObject();
process(o);

または、他の何か?それとも違いやデメリットはないのでしょうか?

4

4 に答える 4

3

SomeObject現在のスコープ内の別の場所への参照が必要な場合は、2 番目のスタイルを使用することをお勧めします。

SomeObject o = createObject();
process(o);

// use instance o some other way:
// o.setBase(10);

それ以外の場合は、最初のスタイルを使用する方がコンパクトです。

process(createObject());
于 2012-12-04T10:38:06.763 に答える
1

それは要件によって異なります。 SomeObject が他の場所で使用されないことが確実な場合は、最初のアプローチを使用する必要があります。私はそれがプログラミングスタイルについて大したことではないと思います

于 2012-12-04T10:39:31.197 に答える
1

任意のアプローチを使用できますが、結果を他のメソッドに渡す前にメソッドを呼び出すことをお勧めします。

そのため、以前に呼び出されたメソッドに例外があった場合、簡単に追跡できます。

このアプローチでは可読性もプラスになり、同じオブジェクト参照があればそれを使用して他のメソッドを呼び出すこともできます。

于 2012-12-04T10:41:20.090 に答える
1

o2番目のものには、呼び出し後に参照を使用できるという利点がありますprocess(o);

SomeObject o = createObject();
process(o);
// you can use o here, too

oへの参照がもう必要ない場合は、問題ありませんprocess(createObject());

読みやすさは 2 番目のバージョンの方が優れていますが、おそらく最初のバージョンを使用するでしょう。

(また、あなたが求めてcreateObject()いる方法は方法でなければならないことに注意してくださいstatic

于 2012-12-04T10:38:03.813 に答える