0
在練習提取並覆蓋重構時,我經常舉例說明非常熟練的教練和培訓師,其中提取的方法的訪問修飾符從私有變爲受保護。提取並覆蓋重構練習強制使用「受保護」修飾符
protected CollectResultReader loadRecordFromOutFile() {
return CollectResultReader.factory("../record.json");
}
在上面的代碼的例子中萃取,IDE中創建與所述目標代碼的私人改性劑的新方法。這是期望的行爲。爲了能夠覆蓋被測試的類,它被重新編輯保護。這是不受歡迎的,因爲這意味着生產代碼失去了可用性並且獲得了不必要的訪問權限。
請注意,我想使用純Java和沒有模擬框架。我將我的單元測試保存在同一個包中的不同路徑中。
我的問題:爲什麼不讓方法包私有(無修飾符)?
見包專用改良劑:Controlling Access to Members of a Class
謝謝BetaRide,這證實了我的猜測。我想知道爲什麼開發人員總是避免包裝私密,這對我來說毫無意義。 – otembajelle