C# 公共和私人的可见性正确使用

C# 公共和私人的可见性正确使用,c#,C#,我的所有函数访问修饰符都是公共的。将所有职能都作为公共职能是错误的,还是也应该是私人职能。我有一个分层应用程序,其中一层调用另一层的公共函数。我几乎没有私有函数。经验法则是,您不需要对外部实现细节和函数可见的所有内容都应该是私有的 如果你宣布一切都是公开的,那么我不能说你犯了一个灾难性的错误,世界不会四分五裂,只是纯粹主义者总是会找到一些动机来批评你,你会有不公正的意识。您可能会在晚上醒来时认为您犯了一个可怕的错误,没有将这些方法私有化,因为当前类之外没有人调用它们。当然,你也可以站在另一边:晚

我的所有函数访问修饰符都是公共的。将所有职能都作为公共职能是错误的,还是也应该是私人职能。我有一个分层应用程序,其中一层调用另一层的公共函数。我几乎没有私有函数。

经验法则是,您不需要对外部实现细节和函数可见的所有内容都应该是私有的

如果你宣布一切都是公开的,那么我不能说你犯了一个灾难性的错误,世界不会四分五裂,只是纯粹主义者总是会找到一些动机来批评你,你会有不公正的意识。您可能会在晚上醒来时认为您犯了一个可怕的错误,没有将这些方法私有化,因为当前类之外没有人调用它们。当然,你也可以站在另一边:晚上睡个好觉,而其他开发人员却在诅咒你没有公开这个方法,因为他不能直接调用它


因此,由您决定您想成为哪一方。

您是否在竞争我的私人功能数量比您的多?如果所有函数都需要在类外调用,并且函数的大小适当,那么您实际上不需要私有函数。谢谢。我只需要确认一下。限制一切,然后在需要的地方扩大可见性。没有什么可以告诉你的了。我唯一的补充是,如果你的分层应用程序都在同一个程序集中,考虑使用而不是公共。