2012-07-11 88 views
1

是不是练习从另一个方法的参数列表调用一个方法吗?在另一种方法的参数列表中调用方法是否是Java中的一种良好做法?

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

public String executeRequest(RequestObject rqObject){ 
    return rqObject.execute(); 
} 
  1. 我可以抱的frameRequestObject(obj)的返回值的变量,并把它作为参数传递给executeRequest()?这是在这种情况下,最好的做法是什么?
  2. 返回“返回rqObject.execute();”这个值是否是一种很好的做法?

回答

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?

,你can.but更好的可读性第一捕获方法的输出,然后将它传递给其他方法。代码问题

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

这里也有更好的可读性,但是你可以做到这一点。

0

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

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

事情开始变得杂乱,当您有类似这样:应避免return executeRequest(foo.getBar().getValue().frameRequestObject(obj));

代码像上面。这就是为什么大多数时候建议总是将事情分解的原因。

1
  1. 是的,你可以

    public String processRequestBasedOnCondition(MyObject obj) { 
        RequestObject requestObject = frameRequestObject(obj); 
        return executeRequest(requestObject); 
    } 
    
  2. 更偏爱比实践。

一些可以认为,将该呼叫分配给一个变量是更具有可读性。就个人而言,我只是return rqObject.execute(),因为它足够可读。

0

它实际上是功能样式(这是罚款)。

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

其坦言更两个约比实践偏好。

1。

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

2. 对于新手是这样的回报rqObject.execute(),可能会造成混淆。 还有 它是一个更干净的方式来做到这一点...我更喜欢这个。

相关问题