0
在练习提取并覆盖重构时,我经常举例说明非常熟练的教练和培训师,其中提取的方法的访问修饰符从私有变为受保护。提取并覆盖重构练习强制使用“受保护”修饰符
protected CollectResultReader loadRecordFromOutFile() {
return CollectResultReader.factory("../record.json");
}
在上面的代码的例子中萃取,IDE中创建与所述目标代码的私人改性剂的新方法。这是期望的行为。为了能够覆盖被测试的类,它被重新编辑保护。这是不受欢迎的,因为这意味着生产代码失去了可用性并且获得了不必要的访问权限。
请注意,我想使用纯Java和没有模拟框架。我将我的单元测试保存在同一个包中的不同路径中。
我的问题:为什么不让方法包私有(无修饰符)?
见包专用改良剂:Controlling Access to Members of a Class
谢谢BetaRide,这证实了我的猜测。我想知道为什么开发人员总是避免包装私密,这对我来说毫无意义。 – otembajelle