java中用于调用串行方法的正确约定

时间:2012-12-04 10:34:41

标签: java coding-style

Java中哪种编程风格更好?
例如。如果我有:

SomeObject createObject();

void process(SomeObject o);

这样更好吗?

process(createObject())

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

还是其他什么?或者没有区别或缺点?

4 个答案:

答案 0 :(得分:3)

如果您需要在当前范围内的其他地方引用SomeObject,那么最好使用第二种风格:

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

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

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

process(createObject());

答案 1 :(得分:1)

第二个优势是,您可以在调用o后使用process(o);的引用

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

如果您不再需要o的引用,process(createObject());就可以了。

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

(另请注意,您提问的方式,createObject()必须是static方法)

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

因此,如果先前调用的方法中存在异常,则可以轻松跟踪它。

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