Должны ли имена файлов классов Enum иметь суффикс 'Enum'? - PullRequest
7 голосов
/ 22 июня 2011

Когда вы разбиваете классы на файлы, мне интересно, каково соглашение об именах для файлов классов, содержащих только перечисления.Должны ли они соответствовать имени перечисления, как и любому другому классу, или они должны иметь суффикс «Enum», чтобы разработчик знал, что файл содержит только перечисление?

Например:

namespace MyCompanyName.MyApplication
{
    public enum Colors
    {
        Red,
        Blue,
        Green,
        Yellow
    }
}

Можно ли сказать, что файл, содержащий вышеуказанный код, должен называться «Colors.cs» или «ColorsEnum.cs»?В качестве альтернативы, возможно, существует другое общепринятое соглашение об именах для таких файлов?

Ответы [ 5 ]

9 голосов
/ 22 июня 2011

Имя файла, по моему мнению, должно совпадать с именем Enum, которое - в соответствии с Правилами именования Enum должно , а не иметь суффикс Enum. Кроме того, руководство предполагает, что ваше перечисление должно быть единственного числа , поэтому с учетом обоих оно должно быть Color.cs

5 голосов
/ 22 июня 2011

Прежде всего, это полная личная / командная настройка.

Как говорится:

Я бы лично назвал это Colors.cs. Это сохраняет имя файла, соответствующее имени типа. Когда я работаю над API, если «Цвета» - это фиксированный набор вещей, представленных перечислением, я, вероятно, знаю это, и не будет путаницы.

2 голосов
/ 22 июня 2011

Как насчет создания папки с именем Enums и присвоения имени файлу Colors.cs?

1 голос
/ 22 июня 2011

Создание папки с именем Enumerations, Enums или чего-то описательного должно быть достаточно. Также вы можете следовать стандартам именования C #, которые гласят:

"Имена перечислений Не используйте префикс в именах значений перечисления. Например, не используйте префикс, такой как ad для перечислений ADO, или rtf для перечислений расширенного текста и т. Д.

Это также означает, что вы не должны включать имя типа перечисления в имена значений перечисления. В следующем примере кода демонстрируется неправильное именование значений перечисления.

C # код следующим образом

public  enum Teams
{
    TeamsAlpha,
    TeamsBeta,
    TeamsDelta
}

Ссылка: Имена классов, структур и интерфейсов

0 голосов
/ 08 ноября 2018

Это прекрасный пример того, как пространство имен и структура папок могут сделать ваш каталог более читабельным. Моя компания помещает типы перечислений в файл _enumeration, но оставляет их в том же пространстве имен, что и классы, которые в основном используют эти перечисления. Это вопрос предпочтений, вы должны делать то, что наиболее читабельно для вас и ваших товарищей по команде. Я бы не использовал какую-либо нотацию по-венгерски в вашей структуре папок.

...