Организация CodeMaid против Stylecop

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

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

CodeMaid заказывает заказы также в алфавитном порядке, но сначала не заказывает Системные операции. Он заказывает только буквы в алфавитном порядке

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

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

Ответ 1

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

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

Вы можете легко изменить это значение до значения по умолчанию VS2010 в Tools-> Параметры-> Текст Editor-> С# → Advanced-> "Расположить" Системные "директивы при сортировке сообщений". CodeMaid уважает предпочтение Visual Studio, которое по умолчанию не ставит системные директивы.

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

Надеюсь, поможет. :)

Ответ 2

Нет "правильного" заказа, просто условностей. StyleCop SA1210 правило явно указывает, что System имен размещены первые:

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

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

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

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

См. Этот вопрос относительно using операторов за пределами пространства имен.