Подтвердить что ты не робот

Как мне назвать интерфейс, когда базовое слово начинается с буквы I?

Я хочу создать интерфейс для "Items". Типично я бы назвал интерфейс, добавив и префикс "I" к базовому слову. Но в этом случае мое базовое слово уже начинается с I. Вот несколько идей, которые у меня были

  • IItem: два я
  • Iitem: измените случай
  • ItemInterface: пропустить я префикс и выписать интерфейс

Что выглядит лучше? Кто-нибудь еще сталкивается с этой проблемой. Если да, то что вы сделали?

4b9b3361

Ответ 2

Просто IItem. Нет необходимости в исключении.

Интерфейсы начинаются с двух букв верхнего регистра (I [A-Z]), которые идентифицируют их как интерфейс. Итак, Item не является интерфейсом, но IItem есть.

Ответ 3

Изменить 2016/08/12: Я изначально предоставил этот ответ в качестве альтернативной перспективы для соглашений об именах. Мой ежедневный С# теперь использует I -prefixing, чтобы держать вещи идиоматичными и уменьшать познавательное бремя через согласованность. Я считаю, что последовательность важнее, чем проблемы, которые я поднимаю ниже. Короче говоря, придерживайтесь условностей базы кода, в которой вы работаете.


Просто Item. Не потому, что интерфейс начинается с I, а скорее потому, что классы префикса с идентификационными буквами не нужны. Декорирование интерфейсов с I столь же уродливо, как и пощечивание C перед вашими конкретными именами классов (a la MFC). Типы префикса с чем-либо так же плохи, как использование венгерской нотации.

Вы можете утверждать, что это на самом деле дает вам семантическое значение, но я не уверен. У меня есть современная IDE, и мне больше не нужны мои имена типов.

Ответ 4

В соответствии с соглашением об именах .Net имени интерфейса должно предшествовать сообщение "I", за которым следует имя интерфейса в случае с Camel.

Поэтому я предлагаю вам назвать интерфейс Item как:

IItem

Не нужно упомянуть "интерфейс" в конце, потому что буква "I" в самом начале говорит, что это интерфейс, не требуется явно указывать.