在另一种方法的参数列表中调用方法是否是Java中的一个好习惯?

时间:2012-07-11 06:55:41

标签: java

从另一个方法的参数列表调用方法是做法吗?

public String processRequestBasedOnCondition(MyObject obj) {
   return executeRequest(frameRequestObject(obj));
}

public String executeRequest(RequestObject rqObject){
   return rqObject.execute();
}
  1. 我可以在变量中保存frameRequestObject(obj)的返回值,并将其作为参数传递给executeRequest()?这是本案例中的最佳做法吗?
  2. 返回“return rqObject.execute();”这个值是一个好习惯吗?

6 个答案:

答案 0 :(得分:1)

  1. 是的,你可以

    public String processRequestBasedOnCondition(MyObject obj) {
        RequestObject requestObject = frameRequestObject(obj);
        return executeRequest(requestObject);
    }
    
  2. 更多偏好而不是练习。

  3. 有些人可能认为将调用赋值给变量更具可读性。就个人而言,我只是return rqObject.execute(),因为它足够可读。

答案 1 :(得分:0)

Can I hold the return value of frameRequestObject(obj) in a variable and pass it as argument to the executeRequest()? Which is the best practice in this case?

,你可以。但为了更好的可读性,首先捕获方法的输出,然后将其传递给其他方法。

is it a good practice to return the value like "return rqObject.execute()

这里代码更易于阅读,但是你可以做到。

答案 2 :(得分:0)

我认为在这种情况下,你应该没事。

编程可读代码很重要。在这种情况下,使用诸如return executeRequest(frameRequestObject(obj));之类的内容仍然非常易读。

当你有这样的事情时,事情开始变得混乱:return executeRequest(foo.getBar().getValue().frameRequestObject(obj));

应避免使用上述代码。这就是为什么大多数时候建议总是把事情搞得一团糟。

答案 3 :(得分:0)

它实际上是功能样式(很好)。

答案 4 :(得分:0)

  1. 只要代码保持可读性,没问题。如果你在一行代码中最终有10个方法调用,长度为200个字符,那就再也不能接受了
  2. 是。将调用的结果存储在局部变量中并返回局部变量不会产生任何实际意义。它可以帮助调试,但直接返回结果是可以的。如果调试需要一个额外的变量,你现在仍然可以添加它。

答案 5 :(得分:0)

坦率地说,两者都是关于偏好而非实践。

1。

RequestObject reqObj = frameRequestObject(obj);
   return executeRequest(reqObj);

<强> 2    对于像这样的新手返回rqObject.execute(),可能会令人困惑。的然而    这是一个更干净的方式...我更喜欢这个。