如果我是唯一一个使用我的代码的人,是否有封装的理由?

Is there a reason to encapsulate if I am the only one using my code?

我知道我们封装数据是为了防止使用我的代码的开发人员访问不需要访问的内容。然而,我只是将编程作为一种爱好,不会发布任何代码供其他人使用。我仍然封装,但在我看来,这主要是为了良好的政策和养成习惯。那么,当我知道只有我一个人会使用我的代码时,是否有理由封装数据?

封装不仅创建 "getters" 和 "setters",而且还公开一种 API 来访问数据(如果需要)。

封装让您可以在一个地方访问数据并允许您以更 "abstract" 的方式管理它,减少错误并使您的代码更易于维护。

如果您的个人项目既简单又小,您可以随心所欲地完成您需要的东西,但请记住后果;)

我不认为只有第三方开发人员才会发生不必要的数据访问。它也可以发生在你身上,对吗?当您允许通过 variables/properties 上的访问权限直接访问数据时,无论是谁在使用它,无论是您还是其他人,最终都可能因直接访问数据而产生错误。

封装不仅仅是隐藏数据。 它还是关于隐藏实现细节。

当这些细节被隐藏时,这迫使你使用定义的 class API 而 class 只有谁可以在里面改变它。 因此,想象一下这样一种情况,当您向任何 class 感兴趣的人开放所有方法,并且您有一个执行某些计算的函数。而你刚刚意识到你想替换它是因为逻辑不对,或者你想进行一些复杂的计算。

在这种情况下,有时您必须更改应用程序中的所有位置才能更改结果,而不是仅在您提供的 API 中更改一个位置。

所以不要什么都做public,这会导致更新过程中的强耦合和痛苦。