2008-09-18 2 views
136

Сложно найти такой инструмент для Java (Checkstyle, JCSC), но я не могу найти его для C/C++. Я не ищу анализатор статического кода, подобный lint, я бы хотел только проверить стандарты кодирования, такие как имена переменных, капитализация, интервал, идентификация, размещение в скобках и т. Д.Бесплатный инструмент для проверки исходного кода на C/C++ на основе набора стандартов кодирования?

+2

Если вы не нашли ответ здесь, рассмотрите этот вопрос: http://stackoverflow.com/q/10819398/120163 – 2012-05-30 19:42:50

ответ

55

Единственный инструмент, который я знаю, это Vera. Однако не использовали его, поэтому не могу комментировать, насколько он жизнеспособен. Demo выглядит многообещающим.

+0

Я протестировал его, и это довольно просто. Но это работает! – 2011-05-31 18:47:53

+5

Я пробовал, но был разочарован. Это токенизированный код C++, но для «идентификаторов» он имеет только один тип токена, поэтому он не различает имена классов, переменных-членов и локальных переменных. Поэтому я не смог найти применение различных соглашений об именах для разных типов идентификаторов. – 2011-08-31 06:56:17

+0

Vera не имеет очень полного набора правил, но они могут быть расширенными (в TCL) – fmuecke 2011-10-08 07:00:05

3

Я использовал инструмент в моей работе его LDRA tool suite

Он используется для тестирования C/C++ кода, но он также может проверить против стандартов кодирования, таких как MISRA и т.д.

+1

Почему это понижается? Даже если LDRA также является статическим анализатором - вопрос не ищет, я считаю, что он также способен проверять код на нарушение стандарта кодирования. – 2010-07-15 21:58:16

+4

Это не бесплатный инструмент. – 2012-05-30 19:30:49

+4

LDRA стоит примерно столько же, сколько ваш средний автомобиль ... не моя идея бесплатно. – Lundin 2015-07-02 14:27:42

7

Не совсем то, о чем вы просите, но мне было легче всего согласиться на стандарт кодирования astyle, который может сгенерировать и затем автоматизировать процесс.

2

Проверьте universalindentgui на sourceforge.net.

у него есть много шашек для проверки стиля, и вы можете настроить шашки.

9

Я уверен, что это могло бы помочь в некоторой степени cxx checker. Также этот инструмент кажется довольно хорошим KWStyle Это из Kitware, ребята, которые разрабатывают Cmake.

-1

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

К сожалению, проект еще не готов к использованию без достаточного знания кода (читать: это багги, как и все ад). Тем не менее, мы движемся довольно быстро и надеемся, что в течение следующих 8 недель будет выпущена бета-версия.

Проект с открытым исходным кодом - you can visit the project page, и если вы хотите принять участие, нам бы понравился дополнительный внешний вход.

Я не буду утомлять вас подробностями - для этого вы можете указать visit the project page, но я скажу одно: большинство статических инструментов анализа кода направлены на проверку кода на наличие ошибок и не очень заботятся о проверке правил кодирования , Мы применили более гибкий подход, который позволяет нам писать плагины для проверки как «домашних правил», так и возможных ошибок.

Если вы хотите получить более подробную информацию, пожалуйста, не стесняйтесь обращаться ко мне.

Приветствия,

1

Существует cppcheck, который также поддерживается Hudson через плагин с таким же именем.

6

Пробег: nsiqcppstyle. Это Python на основе кода стиль проверки для C/C++. Это легко расширить, чтобы добавить свои собственные правила.