我是一個相對較新的程序員,維護一個遺留的代碼庫。我遇到過一種模式,我不太確定這對我有意義。假設我有一個類(我們稱之爲OutputClass),它處理寫入日誌文件和創建供其他系統使用的XML文件。OOP:爲什麼調用一個公共方法繼續調用具有相同參數的私有方法?
現在在代碼的幾個地方,OutputClass被證實並被髮送了幾個對象(稱它們爲A,B和C)。因此,例如,(這是在VB,但適用於任何語言):在OutputClass類
Call ObjectClass.WriteFile(A, B, C)
然後,我有這樣的代碼:
Public Sub WriteFile(A as ObjType1, B as ObjType2, C as ObjType3)
Call WriteThisFile(A, B, C)
End Sub
Private Sub WriteThisFile(A as ObjType1, B as ObjType2, C as ObjType3)
'do stuff
End Sub
如果我們只是路過,我們在收到參數公共方法作爲私有方法的參數,那完成了什麼?我認爲我明白公共與私人的目的,但也許不是? TIA尋求幫助。
強制性:我尋找相關的問題,但無法找到我正在尋找的東西。
FWIW,我從來沒有見過這種多餘的反思。通常,在將參數傳遞給允許假設輸入有效/安全的私有函數之前,有一些衛生或驗證參數的步驟。 –
可能只是某些重構該類的人留下的工件。 'WriteFile'可能用於做一些有意義的事情,但是程序員在刪除所有其他代碼後將其留在那裏。 – litelite
這是有道理的。因此,假設公共方法沒有做任何特別的事情,那麼刪除它可能是安全的,私有方法是公開的,並且讓其他代碼直接調用它? – glassy