在接口名称前添加 I 前缀的 .NET 标准似乎正在变得越来越普遍,并且不再仅限于 .NET。我遇到过很多使用此约定的 Java 代码(因此,如果 Java 在 C# 之前使用它,我不会感到惊讶)。 Flex 也使用它,等等。不过,在名称开头放置 I 有点匈牙利符号的味道,所以我对使用它感到不舒服。
所以问题是,是否有另一种方法来表示 Something 是一个接口,而不是一个类,并且是否有必要这样表示它。或者它是否已经成为一种标准,所以我应该接受它并停止试图通过建议采取不同的方式来煽动“宗教战争”?
来自《框架设计指南》一书:
表示层次结构根的接口(例如 IList)也应该使用名词或名词短语。表示功能的接口应使用形容词和形容词短语(例如 IComparable、IFormattable)。
另外,从接口命名的注释来看:
KRZYSZTOF CWALINA:少数人之一
接口使用的前缀是“I”
(如 ICollection 中),但那是为了
历史原因。回想起来,我
认为使用会更好
常规类型名称。在大多数
开发人员不关心的情况
有些东西是一个接口而不是一个
例如,抽象类。
布拉德·艾布拉姆斯:另一方面,接口上的“I”前缀是明确的
认识到 COM 的影响
(和 Java)在 .NET Framework 上。通讯
大众化,甚至制度化,
接口开始的符号
与“我”。虽然我们讨论过
背离了这一历史模式
我们决定继续发扬
我们的许多用户都是这样的模式
已经熟悉COM。
JEFFREY RICHTER:就我个人而言,我喜欢
“I”前缀,我希望我们有更多
像这样的东西。小独字
前缀对于保持
代码简洁但具有描述性。正如我
前面说过,我使用前缀
私有类型字段,因为我发现
这非常有用。
布伦特校长注:
这实际上是另一个应用程序
匈牙利表示法(尽管没有
表示法的缺点
在变量名中使用)。
它已经成为一种广泛采用的标准,虽然它是匈牙利语的一种形式,正如布伦特所说,但它并没有受到在变量名称中使用匈牙利表示法的缺点的影响。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)