java - 哪个版本更好?

标签 java



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/

相关文章:

java - 在运行时为 OS 释放 java 内存

java - 如何在不使用bean的情况下将LinkedHashMap值输入数据库?

java - do while 循环遇到麻烦..想要 while ==yes.option 或直到 index<MAX 但它一直循环

java - 从Java类调用C++方法?

java - 避免 EAV 模型但仍保持灵活性的最佳方法

java - hibernate join fetch 不会获取所有子项

java - 如何更改应用程序的启动动画?

java - 从 PipedOutputStream 到 PipedInputStream 的冒泡 IOException

java - Mime 类型设置不正确

java - 了解 Groovy/Grails 类加载器泄漏