Какими инструментами можно автоматически производить анализ C++ проекта на различные метрики сложности кода?

На данный момент работаю на проекте с унаследованной кодовой базой от предыдущих проектов. В коде ад и кошмар. Очень много копипаста целыми блоками кода, огромные куски закоментированного кода, функции до нескольких тысяч строк. Но как всегда нет времени на код ревью и рефакторинг. Проект довольно большой, чтобы вручную ходить по коду и рефакторить.
Я поискал средства анализа кода, но ничего такого, что помогло мне в моём случае не нашёл. Возможно плохо искал, и тогда прошу посоветовать те программные решения, которые используете вы или какие то идеи по решению данной проблемы. В худшем, у меня есть мысли как это автоматизировать с помощью скрипта на python. Например, для начала написать код для поиска кусков скопированного кода, очень больших функций (больше ~100 строк) и классов. Потом дополнять функциональность, чтобы можно было потом быстро сканировать проект и выявлять места для рефакторинга.
  • Вопрос задан
  • 291 просмотр
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
Не боитесь "капнуть на пятно чистым"? После такого рефакторинга, который вы планируете, код не станет намного лучше - это будет та же легаси-каша, но с заплатками рефакторинга, которые к тому же налеплены механически, без понимания того, что происходит в этом конкретном месте.
Имхо, разбивка проекта на модули и чистка их в порядке "пахучести" более перспективна - вы хотя бы за часть кода сможете быть спокойны.
А так - ну, найдете вы километровые функции. Ну, разобьете их на десять стометровок. Код от этого действительно улучшится? Имхо, без взгляда на функции с более высокого уровня рефакторинг - мартышкин труд.
Ответ написан
Ranwise
@Ranwise
Почитайте про статические анализаторы на хабре есть статьи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 нояб. 2024, в 19:08
1500 руб./в час
27 нояб. 2024, в 18:19
2000 руб./за проект
27 нояб. 2024, в 17:41
2000 руб./за проект