当基本单词以I开头时,如何命名界面?
我想为“Items”创建一个界面。 Typicaly我会通过在基本单词中添加“I”前缀来命名接口。 但在这种情况下,我的基本单词已经以I开头。这里有几个想法
- IItem :两个我
- Iitem :改变这种情况
- ItemInterface :跳过I前缀并写出Interface
什么看起来最好? 有没有其他人遇到这个问题。 如果是这样你做了什么?
虽然难以阅读,但IItem
将与一些现有的“ II
”接口保持一致:
- Windows Mobile 6.5中的IItem
- IImplicitResourceProvider
- IISAPIRuntime
简单的IItem
。 没有必要例外。
接口以两个大写字母(I [AZ])开头,将它们标识为接口。 所以Item
不是一个接口,但是IItem
是。
根据.Net命名约定,接口名称前面应加上大写字母’I’,后跟Camel case中的接口名称。
所以我建议你将接口Item命名为:
IItem
没有必要在最后提到“接口”,因为起始处的字母’I’表示它是接口,不需要明确提及。
编辑2016/08/12:我最初提供此答案作为命名约定的替代视角。 我的日常C#现在使用I
-prefixing来保持惯用语并通过一致性减少认知负担。 我认为一致性比我在下面提出的问题更重要。 简而言之,坚持使用您正在使用的代码库的约定。
只是Item
。 不是因为接口以I
开头,而是因为没有必要为带有识别字母的类添加前缀。 使用I
装饰接口与在具体类名(la MFC)之前使用C
一样难看。 任何东西的前缀类型都与使用匈牙利表示法一样糟糕。
你可以说它实际上给你了语义价值,但我不相信。 我有一个现代的IDE,我不需要我的类型名称更复杂。
您可以看到MS人员正在使用System.ComponentModel.IItemProperties