当基本单词以I开头时,如何命名界面?

时间:2010-08-26 05:39:37

标签: c# .net naming-conventions interface

我想为“Items”创建一个界面。 Typicaly我会通过在基本单词中添加“I”前缀来命名接口。但在这种情况下,我的基本单词已经以I开头。这里有一些我曾经有过的想法

  • IItem :两个我
  • Iitem :改变案例
  • ItemInterface :跳过I前缀并写出接口

什么看起来最好?有没有其他人遇到这个问题。如果是这样你做了什么?

5 个答案:

答案 0 :(得分:28)

虽然难以阅读,IItem将与某些现有的“II”界面保持一致:

答案 1 :(得分:8)

只需IItem。没有必要例外。

接口以两个大写字母(I [A-Z])开头,将它们标识为接口。因此Item不是界面,IItem是。

答案 2 :(得分:3)

根据.Net命名约定,接口名称前面应加上大写字母'I',后跟Camel案例中的接口名称。

所以我建议你将接口Item命名为:

IItem

最后没有必要提到'Interface',因为Start'中的'I'字母表示它是Interface,不需要明确提及。

答案 3 :(得分:2)

您可以看到MS人员正在使用System.ComponentModel.IItemProperties

答案 4 :(得分:2)

编辑2016/08/12:我最初提供此答案作为命名约定的替代视角。我的日常C#现在使用I - 前缀来保持惯用语并通过一致性减少认知负担。我认为一致性比我在下面提出的问题更重要。简而言之,坚持使用您正在使用的代码库的约定。


只需Item。不是因为接口以I开头,而是因为没有必要为带有标识字母的类添加前缀。使用I装饰接口与在具体类名(la MFC)之前使用C一样丑陋。任何东西的前缀类型都与使用匈牙利表示法一样糟糕。

你可以说它实际上给你了语义价值,但我不相信。我有一个现代的IDE,我不需要我的类型名称更复杂。