陷阱 - 忽略方法可见性

即使是经验丰富的 Java 开发人员也倾向于认为 Java 只有三个保护修饰符。语言实际上有四个! 该包私人能见度(又名默认)水平常常被遗忘。

你应该注意你公开的方法。应用程序中的公共方法是应用程序的可见 API。这应该尽可能小和紧凑,特别是如果你正在编写可重用的库(另请参阅 SOLID 原则)。同样重要的是要考虑所有方法的可见性,并且仅在适当时使用受保护或包私有访问。

当你声明应该作为 public 的私有方法时,你将公开该类的内部实现详细信息。

这样做的必然结果是,你只对单元的公共方法进行单元测试 - 事实上,你只能测试公共方法。为了能够针对这些方法运行单元测试,增加私有方法的可见性是不好的做法。测试使用更具限制性的可见性调用方法的公共方法应该足以测试整个 API。你永远不应该使用更多公共方法扩展你的 API,只允许进行单元测试。