2012-07-11 255 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(),可能會造成混淆。 還有 它是一個更乾淨的方式來做到這一點...我更喜歡這個。

相關問題