java中的默认可见性意味着只有同一个java包中的其他类可以访问它。我当然看到了它的用途,并且已经多次使用它。
另一方面,我遇到的 90% 的默认可见性只是来自忘记添加任何可见性关键字的开发人员。
因此,一方面,有合法用途,另一方面,它经常掩盖不良代码。您在开发团队中做什么?
java中的默认可见性意味着只有同一个java包中的其他类可以访问它。我当然看到了它的用途,并且已经多次使用它。
另一方面,我遇到的 90% 的默认可见性只是来自忘记添加任何可见性关键字的开发人员。
因此,一方面,有合法用途,另一方面,它经常掩盖不良代码。您在开发团队中做什么?
我通常会尝试让每个人都从最有限的范围开始,只有在我们看到设计中有必要时才开始向外扩展。有时,从 to 迁移的决定private
也是package-private
由于我们需要编写测试而不必遵循使用模拟框架的路线(请参阅Powermock)。
除此之外,我们在可变性上遵循相同的心态。一切都始于final
且仅当我们看到需要修改状态时才将其删除。
如果我特别想要包访问,我把/* package */放在方法/变量等的定义之前,以确保人们知道我实际上是这个意思,而不是偷懒。虽然我很少使用它。
我鼓励人们使用private
我本来希望作为默认设置的。
有时,我会运行代码分析,将访问修饰符减少到只需要的部分。