Автоматическое кодирование Стандартное обнаружение нарушений для C ++ - PullRequest
4 голосов
/ 09 сентября 2011

Что я хочу сделать, так это запустить на CI-сервере инструмент для сканирования кода и выявления любых существующих нарушений кодирования на основе определенного руководства.Я буду использовать выходные данные, чтобы подсказывать, что сборка «терпит неудачу» до тех пор, пока проблема не будет устранена.

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

Существует ли что-то подобное?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

То, что вы хотите, называется статическим анализом

2 из них бесплатны:

cppcheck - инструмент с открытым исходным кодом, который проверяет несколько типов ошибок, включая использование STL.cpplint Автоматический исходный код с открытым исходным кодом для проверки того, что файл C ++ соответствует стилю Google C ++.

Тогда некоторые коммерческие компиляторы включают статический анализ: Visual Studio (система Team и выше) Компилятор Intel (я слышал, что этоочень настраиваемый, но я лично еще не использовал его)

0 голосов
/ 09 сентября 2011

Если возникают проблемы, связанные с форматированием кода - вы можете принудительно вызывать beautifiers кода при возврате в репозиторий (astyle, indent, ...)

Следующим является PC-lint / Flexelint инструмент, который также имеет правила для обеспечения соблюдения различных стандартных норм кодирования. Но это не бесплатно. Вы должны ознакомиться с ним и правильно настроить его, чтобы избежать ложных срабатываний.

Вы также можете проверить Vera ++ , но у меня нет с этим опыта.

...