dagger2 中 @Module class 中的 @Provides 方法哪个可见性修饰符更好

Which visibility modifier is better for @Provides method in @Module class in dagger2

如题:
哪个可见性修饰符更适合模块 class、包私有(默认)或 public 中的 Provides 方法?

每个修饰符的优缺点是什么?

这可能更像是一个意见问题。尽管如此,我认为 package private 是您应该使用的修饰符。 Dagger 只需要 @Provides 方法是包私有的,所以让它们 public 没有意义。我倾向于认为你越能限制一个方法的范围越好。