【问题标题】:Naming conventions in C# compared to JavaC# 中的命名约定与 Java 的比较
【发布时间】:2009-01-24 19:01:04
【问题描述】:

Java 世界中的标准命名约定是按照以下方式命名包、类和方法:

com.domainname.productname (package)
com.domainname.productname.ClassName (class)
com.domainname.productname.ClassName.isUpperCase(String str) (method)

上述情况的 C#/.NET 标准命名约定是什么?

【问题讨论】:

    标签: c# java naming-conventions


    【解决方案1】:

    AKU 的回答应该可以帮到你:

    .NET namespaces

    他链接到微软的指南:

    http://msdn.microsoft.com/en-us/library/893ke618(VS.71).aspx

    您应该考虑从这里开始阅读其余指南:

    http://msdn.microsoft.com/en-us/library/czefa0ke(VS.71).aspx

    帖子的其余部分也提供了很多信息:

    .NET namespaces

    在你的情况下,你会选择:

    CompanyName.ProductName
    CompanyName.ProductName.ClassName
    CompanyName.ClassName.IsUpperCase(string str)
    

    .NET 指南不遵循使用反向 FQ 域名来指定命名空间的 Java 风格,而且我还没有看到诸如 Telerik 或 Infragistics 之类的商业组件遵循除了 MS 指南之外的任何其他指南.

    【讨论】:

      【解决方案2】:

      很少见到“com”。在 C# 或 .NET 中:

      DomainName.ProductName (namespace)
      DomainName.ProductName.ClassName (class)
      DomainName.ProductName.ClassName.IsUpperCase(String str) (method)
      

      请参阅 Microsoft 的 .NET Library Design Guidelines 以获得完整的独家新闻(这确实是一个 .NET 问题,而不是 C# 问题)。

      【讨论】:

      • 我想知道为什么这么多 Java 包以 com. 开头。由于几乎所有公司域名都以.com 结尾,因此显得多余。
      • 据我的记忆——我在 1995 年或 1996 年开始使用 Java——这只是 Sun 遵循的约定,其他人也都遵循。
      • 我实际上已经看到了很多 org.* 和一些 edu.* 包。它符合 Java 的“为最不寻常的情况假设和编写”的倾向。
      • @DavidRTribble,约定来自于试图将 company.com 与 company.org 等区别开来。Java 的立场是,没有一个域名可以表示不止一家公司,所以它是一个相当明确的,无所不在和普遍的“标识符”。在我看来,这实际上是一种更简洁的技术,只有“CompanyName”才能保证两个名称相似的公司不会意外命名相同的东西。例如,在世界摔跤联合会将“WWF”输给世界自然基金会之前,他们可能都选择了 WWF.ProductName。如果他们当然喜欢软件。:)
      猜你喜欢
      • 2011-01-07
      • 2021-12-04
      • 1970-01-01
      • 1970-01-01
      • 2011-07-26
      • 2012-12-07
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      相关资源
      最近更新 更多