java中调用串联方法的适当约定
在java中调用串联方法的适当约定,java,coding-style,Java,Coding Style,在Java中,哪种编程风格更好? 例如,如果我有: SomeObject createObject() void过程(someobjecto) 这样更好吗 进程(createObject())或 SomeObject o=createObject() 过程(o) 还是别的什么?或者没有区别或缺点?第二种方法的优点是,在调用process(o)之后,可以使用对o的引用 如果不再需要对o的引用,process(createObject())很好 虽然第二个版本的可读性更好,但我可能会使用第一个版本
Java
中,哪种编程风格更好?例如,如果我有:
SomeObject createObject()代码>
void过程(someobjecto)代码>
这样更好吗
进程(createObject())
或
SomeObject o=createObject()
过程(o)代码>
还是别的什么?或者没有区别或缺点?第二种方法的优点是,在调用process(o)之后,可以使用对o
的引用代码>
如果不再需要对o
的引用,process(createObject())代码>很好
虽然第二个版本的可读性更好,但我可能会使用第一个版本
(还要注意,您询问的方式,createObject()
必须是静态方法)第二种方法的优点是,您可以在调用进程(o)后使用对o
的引用代码>
如果不再需要对o
的引用,process(createObject())代码>很好
虽然第二个版本的可读性更好,但我可能会使用第一个版本
(还要注意,您询问的方式是,createObject()
必须是一个静态方法)如果您需要在当前范围内的其他地方引用SomeObject
,则最好使用第二种样式:
SomeObject o = createObject();
process(o);
// use instance o some other way:
// o.setBase(10);
否则,使用第一种样式(即
process(createObject());
如果您需要引用当前范围内的某个对象,则最好使用第二种样式:
SomeObject o = createObject();
process(o);
// use instance o some other way:
// o.setBase(10);
否则,使用第一种样式(即
process(createObject());
这取决于需求,若您确定某个对象不会在其他任何地方使用,则应使用第一种方法,否则第二种方法更好。我不认为编程风格取决于需求,如果您确定某个对象不会在其他任何地方使用,您应该使用第一种方法,否则第二种方法更好。我不认为这与编程风格有多大关系您可以使用任何方法,但是在将结果传递给其他方法之前调用该方法是很好的
因此,如果前面调用的方法中存在异常,那么您可以轻松地跟踪它
可读性也是这种方法的一个优点,如果有,您也可以使用相同的对象引用调用其他方法。您可以使用任何方法,但在将结果传递给其他方法之前调用该方法是很好的
因此,如果前面调用的方法中存在异常,那么您可以轻松地跟踪它
可读性也是这种方法的一个优点,如果有,您也可以使用相同的对象引用调用其他方法。第二种方法(2行)可以使调试/异常跟踪变得更容易。@assylias:为什么有什么区别?@Jim,例如,如果两种方法都可以抛出MyException
,stacktrace中的行号不允许知道它们在同一行中的哪个did。这是公认的边缘。@assylias:我没意识到!谢谢第二种方法(2行)可以使调试/异常跟踪变得更容易。@assylias:为什么有什么区别?@Jim例如,如果两种方法都可以抛出MyException
,则stacktrace中的行号将不允许知道它们在同一行时是哪个抛出的。这是公认的边缘。@assylias:我没意识到!谢谢