何時將局部變量作爲參數推送到函數/方法,而不是使用類變量來代替函數/方法變量,這是一種很好的形式。使用類變量與將局部變量發送到函數/方法
舉例來說,我可以有一個功能:
int DoSomething(int var)
{
if(var == -1)
return 0;
}
或者我可以有一個類變量「_var」,並用它在相同的功能,就像這樣:
int DoSomething()
{
if(_var == -1)
return 0;
}
我如果我們在上面的例子中有一個函數/方法需要使用一個類變量,稱爲DoSomething
,那麼我應該把函數/方法的類變量作爲參數發送給函數/方法,這樣函數就更容易了閱讀和測試。
什麼時候該做什麼好的形式?我知道這是一個加載的問題,但我試圖爲我與同事的爭論提供一個案例,他們說我會向函數/方法簽名添加更多代碼,而不是保留函數/方法簽名較小。
在我看來,通過將類變量推送到相應的函數/方法,而不是強迫他們依賴/瞭解類變量的存在,我將代碼更簡潔,更容易維護。
請指教。
感謝您的反饋安德烈。我的同事的原始設計是通過構造函數對類變量進行動態初始化,並且該類變量在類中的多個函數中使用。我刪除了這個依賴關係,而是將有問題的變量發送給一個函數調用,然後在其他函數調用中使用它。由於變量沒有封裝數據然後在其他地方傳播,我認爲DoSomething(int var)函數會更合適。再次感謝您的深思熟慮的迴應。 – Rick 2011-04-04 15:42:11