Каков наилучший способ размещения переменных и методов в классе? - PullRequest
1 голос
/ 21 декабря 2010

Я обычно располагаю свои переменные и методы так:

class MyClass {
    // public variables
    // public methods
    // private methods
    // private variables
}

Я хочу знать, как лучше всего определить функции и переменные с точки зрения читабельности?

РЕДАКТИРОВАТЬ: А как насчет enum и определения класса в классе?

1 Ответ

4 голосов
/ 21 декабря 2010

Как это:

class MyClass {
    // private fields
    // public methods
    // private methods
}

У вас не должно быть открытых полей. Вместо этого используйте свойства.

StyleCop имеет набор правил для предлагаемого порядка кодов . См SA1201 :

Внутри класса, структуры или интерфейса элементы должны располагаться в следующем порядке:

  • Поля
  • Конструкторы
  • Финализаторы (деструкторы)
  • Делегаты
  • События
  • Перечисления
  • Интерфейсы
  • Свойства
  • Индексаторы
  • Методы
  • 1042 * Структура *
  • Классы

и SA1202 :

Для соблюдения этого правила соседние элементы одного типа должны располагаться в следующем порядке по уровню доступа:

  • * общественный 1057 *
  • внутренний
  • внутренняя защита
  • 1064 * защищен *
  • частный

Если вы используете StyleCop, он предупредит вас, когда вы нарушите эти правила.

...