【问题标题】:Why explicitly write "private"?为什么要明确写“私人”?
【发布时间】:2011-05-06 01:07:08
【问题描述】:

由于字段是隐式私有的,为什么在书籍、文章等中经常使用显式声明?

【问题讨论】:

标签: c# coding-style private


【解决方案1】:

因为默认访问级别因语言而异,而且许多人使用不止一种语言进行编程。无论是作为作者还是作为后来阅读代码的人都容易混淆,因此显式比隐式更好处理。

【讨论】:

  • 你说的再对不过了,为什么它没有被标记为答案?应该是
  • @Proclyon,可能是因为 SO 在接受答案之前强制延迟 2 小时;)
  • 举个例子,Java 的变量默认是包私有的,而不是私有的。
  • 他们应该只是要求我们写明确的访问修饰符而不是给它默认值。
【解决方案2】:

隐式声明的问题在于,读者无法判断编写代码的人是想要隐式声明还是忘记写任何东西。明确表明意图是毫无疑问的。

【讨论】:

  • 完全同意你的看法。与UML数据库图中的基数相同;如果不指定它,您将无法知道是因为作者想要默认值还是他忘记定义它。
【解决方案3】:

让您的代码看起来不错:)。

你说得对,这不是必需的,但无论如何都习惯于编写它们。至少,每个方法都有明确注明的特权,它使您的代码更易于阅读。

【讨论】:

  • 编码是一门艺术,而不是一门科学,艺术必须是美丽的。 :)
【解决方案4】:

有时显式胜于隐式,在编写教育材料时更是如此。对于不知道或不记得默认访问级别规则的人来说,他们在阅读代码时需要关心的事情就更少了。

相关问题

C# 中所有内容的默认访问权限是“您可以为该成员声明的最受限制的访问权限”。

【讨论】:

    【解决方案5】:

    因为您编写代码是为了可维护性和清晰性,尤其是在代码示例中。隐式声明是针对编译器的,而不是针对程序员的。未能明确声明变量的可见性和范围会使您的意图模棱两可。真的有那么多额外的打字吗?

    【讨论】:

      【解决方案6】:

      您必须记住,代码最终可能会在某个时候被其他人阅读,可能在 6 个月后是您,您需要了解其意图。声明一些私有的东西意味着您不希望所有可能使用它的人都可以使用该特定的实现细节(此时),以后的修订可能会改变特定事物的工作方式,如果您希望提供向后兼容性,如果它从一开始就公开,则需要在以后的修订中保留。

      【讨论】:

        【解决方案7】:

        在我看来,它使代码更具可读性。我不必考虑默认的访问修饰符。 StyleCop 也强制执行它,这是我用来确保编码风格一致的工具。

        【讨论】:

          【解决方案8】:

          过去的显式声明告诉你变量被故意设置为私有,需要声明为私有

          【讨论】:

            猜你喜欢
            • 2010-10-06
            • 2020-12-09
            • 1970-01-01
            • 1970-01-01
            • 2017-07-24
            • 1970-01-01
            • 2011-09-08
            • 2019-03-20
            • 1970-01-01
            相关资源
            最近更新 更多