【发布时间】:2017-08-04 08:58:11
【问题描述】:
我知道建议在类和命名空间中使用不同的名称,但有时很难做到。 说起来容易做起来难。当我们因为某种情况需要使用相同的名字时,他们从来没有给我们解决方案。
例如,我需要一个命名空间来定位所有关于配置的类,所以命名空间命名为ABC.Configuration。我不认为这个名字有什么问题。
并且在命名空间下我需要一个类来存储配置,所以它的名字也将是 Configuration。有道理,你不觉得吗?
除此之外,我在命名空间下还有一些其他类,例如 ConfigurationBuilder、ConfigurationManager 等。
更何况在Java中,我们使用的包名"camelCase",以及我们使用的类名"PascalCase"。所以因为命名的大小写,是没有问题的。
那么C#这个场景中的类如何命名呢?
非常感谢。如果我使用Configuration.Configuration,我需要写更多只是因为命名而其他人只是没有命名空间的ConfigurationManager。有点乱。
使用 ConfigurationStore 的想法很好,谢谢。 我认为命名一个类的解决方案是在名称中清楚地识别用法并添加另一个单词。 但是在我的项目中,我需要在某个地方使用Configuration,如果我写ConfigurationStore.Path来读取配置,它看起来很奇怪。 也许我可以使用 IConfiguration 之类的接口来避免命名问题
【问题讨论】:
-
你可以有一个类型
Configuration.Configuration。没有什么能阻止你这样做。 -
C# 允许以全小写 (
configuration.configuration) 命名,但更建议将PascalCase用于命名空间、类和方法的命名约定。 -
我尝试使用小写字母。但这是一团糟,因为所有其他库都是 PascalCase。