1

什么是更好的编程风格Java
例如,如果我有:

SomeObject createObject();

void process(SomeObject o);

这是否更好?

process(createObject())或者

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

或者是其他东西?还是没有区别或缺点?

4

4 回答 4

3

如果您需要参考SomeObject当前范围内的其他地方,那么最好使用第二种样式:

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

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

否则使用第一种风格更紧凑,即

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

第二个有好处,你可以o在调用后使用引用process(o);

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

如果您不再需要参考o,那process(createObject());很好。

虽然第二个版本的可读性更好,但我可能会使用第一个。

(另请注意,您要求的方式createObject()必须是一种static方法)

于 2012-12-04T10:38:03.813 回答
1

这取决于要求,如果您确定 SomeObject 不会在其他任何地方使用,您应该使用第一种方法,否则第二种更好。我认为这与编程风格无关

于 2012-12-04T10:39:31.197 回答
1

您可以使用任何方法,但在将结果传递给其他方法之前调用该方法是好的。

因此,如果先前调用的方法中有异常,那么您可以轻松跟踪它。

这种方法的可读性也是一个优点,如果有的话,您还可以使用相同的对象引用调用其他方法。

于 2012-12-04T10:41:20.090 回答