Есть ли какие-либо инструменты линта для C и C++ то форматирование проверки?

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

Есть ли любой стандартный инструмент линта, который проверяет, что код правильно форматирован, но на самом деле не изменяет его (как indent но это возвращает только ошибки и предупреждения)?

В то время как на этот вопрос можно было обычно отвечать, мой фокус находится на C и C++, потому что это - то, в чем записан этот проект.

14
задан Nathan Fellman 14 March 2010 в 11:05
поделиться

4 ответа

Ядро Linux использует инструмент, который делает именно это - он называется checkpatch . Вам придется изменить его, чтобы проверить ваши стандарты кодирования, а не их, но это может быть хорошей основой для работы. (Он также предназначен для кода C, а не C ++).

3
ответ дан 1 December 2019 в 14:21
поделиться

Google использует cpplint . Это их руководство по стилю .

8
ответ дан 1 December 2019 в 14:21
поделиться

Посмотрите на Vera++, там уже есть несколько правил, но самое приятное, что вы можете их модифицировать или написать свои собственные.

2
ответ дан 1 December 2019 в 14:21
поделиться

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

Также можно автоматически применять такое форматирование при фиксации кода. Когда вы используете SVN, система для этого называется svn hooks. По сути, это запускает программу для обработки (или проверки и запрета) форматирования, когда происходит фиксация.

Этот сайт объясняет, как вы можете сделать свою собственную. Но также уже существуют программы для этого.

1
ответ дан 1 December 2019 в 14:21
поделиться