CodeMaid vs Stylecop usings organisation

Я использую StyleCop довольно долго (и я привык к этому). Мой друг рекомендовал мне также попробовать CodeMaid. Первое, что я заметил, - это разница в организации использования.

Stylecop заказывает использование в алфавитном порядке, где системные использования перечислены первыми, а не системные использования перечислены ниже.

CodeMaid пользования заказы также в алфавитном порядке, а не того, первая система пользования. Это только приказы, директивы по алфавиту

еще одна вещь, с которой я столкнулся, это то, что CodeMaid позволяет вам использовать вне пространства имен (и, насколько я знаю, лучше разместить все использования в пространстве имен)

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

2 ответов


отказ от ответственности: я написал CodeMaid.

  1. для системы, использующей операторы, Microsoft изменила свои настройки по умолчанию в Visual Studio 2012, когда они начали вводить " Windows." заседания Ассамблеи. Подробнее здесь:использование директив, отсортированных в неправильном порядке

вы можете легко изменить это обратно на VS2010 по умолчанию в Tools - >Options - >Text Editor->C#->Advanced - >"поместите"Системные" директивы сначала при сортировке использования". CodeMaid уважает Visual Studio определила предпочтение, которое по умолчанию не ставит системные директивы на первое место.

  1. для использования заявления, находясь внутри пространства имен, это на наше отставание в поддержку, что https://trello.com/c/CLRxsIyc . StyleCop может указать его как стандарт, но если вы посмотрите на примеры MSDN, шаблоны Visual Studio и т. д. вы обнаружите, что использование операторов вне пространства имен гораздо более обычное. По этому вопросу ведется много дискуссий, и наша цель состоит в том, чтобы поддержка обоих подходов.

надеюсь, что это помогает. :)


нет" правильного " порядка, просто условности. Stylecop это SA1210 правило явно указано, что System пространства имен на первом месте:

нарушение этого правила происходит, когда директивы using не сортируются в алфавитном порядке по пространству имен. Сортировка директив using в алфавитном порядке делает код более чистым и удобным для чтения, а также может облегчить идентификацию пространств имен, используемых кодом. системные пространства имен исключением из этого правила и всегда будет предшествовать всем другим пространствам имен. см. SA1208 для получения более подробной информации.

правило SA1208 указано, что System пространства имен должны быть перед другими пространствами имен, и рассуждения:

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

правила Stylecop являются конвенциями, и Codemaid выбрал немного другую конвенцию. Выберите тот, который вам нравится, и переходите к более важным решениям.

посмотреть этот вопрос о необходимости using операторы вне пространства имен.