Подтвердить что ты не робот

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

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

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

Хотя на этот вопрос можно было ответить в целом, я сосредоточен на C и С++, потому что это то, что написано в этом проекте.

4b9b3361

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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