Response execute(String para1,String para2){
String xmlRequest = buildRequest(para1, para2);
String xmlResponse = getXmlResponse(xmlRequest);
Response response = parseResponse(xmlResponse);
return response;
}
Or the concatenated version? Why is that?
Response execute(String para1,String para2){<p></p>
<code>return parseResponse(getXmlResponse(buildRequest(para1, para2)));
</code>
}
谢谢, 莎拉
最佳答案
与其他人所写的相比,我发现第二个版本更容易阅读。
首先,我需要解析的符号数量大约是原来的一半(12 比 21)。我无法看一眼第一个方法就明白它在做什么,尽管它的作用和第二个方法一样简单。
其次,在第二个示例中,数据流是显而易见的:您可以直接读取该行。在第一个中,对于每一对行,我必须仔细查看以确保其中的变量在下一个中使用(特别是因为其中 2 个临时变量以完全相同的 5 个字符开头)。这正是某人稍后要更新的情况,错误地留下了额外的变量赋值——我已经见过一百万次了。
第三,第二个是用更函数式的风格编写的,函数式代码的推理往往更容易。在这种情况下,好处微乎其微,因为前 2 行是对不可变对象(immutable对象)的赋值,但声明 3 个变量会让我进入“这里发生了复杂的事情”模式,而实际上情况并非如此。
当然,这个方法很小,无论哪种方式都不会出错,但我发现在任何规模上应用良好的习惯都很有用。
关于java - 哪个版本更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263869/