Java
中哪种编程风格更好?
例如。如果我有:
SomeObject createObject();
void process(SomeObject o);
这样更好吗?
process(createObject())
或
SomeObject o = createObject();
process(o);
还是其他什么?或者没有区别或缺点?
答案 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)
你可以采用任何方法,但在将结果传递给其他方法之前调用方法是好的。
因此,如果先前调用的方法中存在异常,则可以轻松跟踪它。
可读性也是这种方法的一个优点,你也可以使用相同的对象引用调用其他方法(如果有的话)。