Как вы расположите элементы исходного кода в C # 3.0? - PullRequest
0 голосов
/ 15 апреля 2009

Хорошо ли выглядит следующее?

Редактировать: параметры носят общий характер, могут не быть исчерпывающими в отношении элементов C #

Один исходный файл может содержать следующее:

Примечания:

Файлы могут входить в пару - редактируемый + сгенерированный Один файл может иметь только одно пространство имен.

Файл: Option-1

  • Один частичный или полный класс на файл
  • Ноль или более перечислений на файл
  • Ноль или более структур на файл
  • Ноль или более тип делегата на файл

Файл: Option-2

  • Один или несколько интерфейсов на файл

Файл: Option-3

  • Один статический класс на файл

Внутри класса: Вариант-1

В данном Заказе будут следующие разделы.

Перечисления - Поля - Свойства - События - Делегаты - Методы

В каждом разделе элементы будут упорядочены по доступности, т. Е. Публичные методы появятся перед частными методами. Внутренние типы могут иметь свой собственный раздел между любыми двумя разделами. При желании связанные поля и свойства могут быть сгруппированы вместе.

Внутри класса: Вариант-2

Группируйте тесно связанные элементы, не обращая внимания на уровень доступности. Обязательно используйте регионы.

Внутри класса: Вариант-3

Просто пофиг. Пусть VS поможет вам.

Что вы, ребята, думаете и делаете?

Ответы [ 6 ]

3 голосов
/ 15 апреля 2009

У меня только один element на файл. Если вам нужно сгруппировать вещи, чтобы привести их в порядок, то это то, для чего нужны пространства имен.

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

Редактировать: И ни при каких обстоятельствах вы не должны использовать регионы! Когда-либо. совсем. Если ваш класс настолько велик, вам нужно свернуть огромные его части, и у вас возникнут гораздо более серьезные проблемы.

2 голосов
/ 15 апреля 2009

Я обычно помещаю типы в их отдельные файлы. (Перечисления, структуры, классы и делегаты) Вложенные типы находятся в том же файле, что и их родительский тип Частичные файлы используются только с созданными файлами.

Внутри файла основная структура:

  • Вложенные классы
  • Поля, поля, события и поля делегатов
  • Свойства
  • Ctors
  • Финалайзер
  • Методы (связанные близки друг к другу, необязательно сгруппированы по доступности.)

Я не слишком строг в отношении этих правил. Это руководство ...

0 голосов
/ 15 апреля 2009

В книге Роберта С. Мартина «Чистый код» содержится несколько полезных советов по этому вопросу - хотя содержание и предназначено для Java, я обнаружил, что это руководство по-прежнему очень применимо к .NET.

Самое важное - выбрать стиль и придерживаться его. StyleCop очень полезен для обеспечения соблюдения этих правил.

0 голосов
/ 15 апреля 2009

Я бы тоже поместил только один элемент в файл. Элементы легче найти, если они находятся в собственном файле, особенно в больших проектах.

0 голосов
/ 15 апреля 2009

Я обычно использую Вариант-3 для файлов и Вариант-1 в классах. Классы структурированы по этим регионам:

  • Вложенные классы
  • Константы
  • События / Делегаты
  • Поля
  • Строительство / Разрушение / Завершение
  • Свойства
  • Методы
0 голосов
/ 15 апреля 2009

Я использую File: Option-3 и сочетание «Внутри класса: Option-1» + «Внутри класса: Option-2 » зависит от типа класса. Если есть четкие отношения, тогда я перейду к варианту-2, но большую часть времени я придерживаюсь варианта-1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...