Почему инструменты анализа не применяют рефакторинг?

StackOverflow https://stackoverflow.com/questions/1542986

  •  20-09-2019
  •  | 
  •  

Вопрос

Я использую fxCop и NDepend сейчас много, и я постоянно вижу, что в их отчетах появляются «неправильные» элементы.1 и задаюсь вопросом: почему эти инструменты не могут просто пойти и внести те исправления, которые они предлагают?

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

Я был бы даже рад, если бы мне приходилось подтверждать каждое изменение, подобно тому, как КодRush Xpress делает с некоторыми рефакторингами.

Так есть ли причина, по которой эти инструменты этого не делают?


1 Неправильное здесь относительно, поскольку что-то вроде класса 1700 ошибок fxCop, которые связаны с именованием, не является плохим кодом, но усложняет работу с кодом новым разработчикам.

Это было полезно?

Решение

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

Другие советы

Роб, мы (команда NDepend) думаем об этом в долгосрочной перспективе.Но прикосновение к коду — это домен много более чувствителен, чем просто анализировать его.И, как сказал Ритмис, часто существует не один единственный вариант рефакторинга.

Конечно, лучшим вариантом будет позволить NDepend отправлять свои команды рефакторинга надежному существующему рефакторингу, такому как R#.Но на данный момент это чистое предположение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top