Метрики кода и предупреждения для С++

У меня есть довольно новая база кода, написанная на С++. Уже я начинаю видеть, что в проект вступают плохие практики (файл класса с 1000 + строками кода, функции с множеством параметров,...).

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

Ответ 1

Как и другие, я не уверен в инструменте, который будет судить о стиле. Но CCCC приведет к многочисленным метрикам, которые помогут вам найти проблемы. Метрики, такие как цикломатическая сложность, дадут вам количественные данные, где возникают проблемы. Недостатком является то, что вам придется включать эти показатели в руководство по стилю, которое вы принимаете или создаете самостоятельно.

Ответ 2

Извините, я не могу вам помочь в отношении стиля, но отличный инструмент показателей, который поддерживает С++ и бесплатно: SourceMonitor.

В частности, вы получите хорошую информацию, такую ​​как Cyclomatic Complexity (которую я нахожу более ценной для плохой практики программирования, чем количество параметров), а также строки кода, процент комментариев, самую длинную функцию и т.д.

Попробуйте - и это очень быстро.

Ответ 3

Metrix ++ соответствует этому варианту использования и имеет несколько показателей, которые вам, вероятно, интересны. Проверьте это здесь: http://metrixplusplus.sourceforge.net/

Ответ 4

Убедитесь, что вы всегда компилируете с параметром -Wall компилятора и делаете его практикой, чтобы не проверять код, если предупреждения сохраняются.

Найдите стандартный стиль, например этот.