Microsoft-ui-xaml: Вопрос: Почему нет анализаторов кода (или линтеров) для кодовой базы?

Созданный на 25 июл. 2019  ·  3Комментарии  ·  Источник: microsoft/microsoft-ui-xaml

Основываясь на количестве комментариев к этому PR , касающихся базового стиля и форматирования кода, я был удивлен, увидев, что нет анализаторов (или эквивалентов), настроенных для автоматической проверки таких проблем, как использование пробелов или соглашения об именах.

Есть ли причина, по которой их нельзя добавить?

Было бы два немедленных преимущества:

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

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

question

Все 3 Комментарий

Я предполагаю, что файл editorconfig можно улучшить или добавить FxCopAnalyzers .

Я думал о StyleCop.Analyzers для кода C #. Я не уверен, что лучше для C ++.

Я не уверен, что лучше для C ++.

@RanjeshJ работает над тем, чтобы включить clang-tidy и clang-format для работы в кодовой базе, и я думаю, что это должно помочь для C ++. Насколько мы видели, у MSVC просто нет хорошего линтера.

Для C # есть новый файл editorconfig, который мы настроили и должны вступить в силу в файлах C #. Если нужно добавить что-то еще стилистическое для C #, мы можем это сделать. И затем, если что-то вроде StyleCop поможет пойти еще дальше, мы можем запустить и это. Но я не видел так много придирок к C #, поэтому я думаю, что editorconfig в основном выполняет свою работу.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги