У меня есть кодовая база, которая затронута многими людьми. В то время как большинство людей прилагает усилие для хранения кода приятно отформатированным (например, последовательное добавление отступа и использование фигурных скобок), некоторые не делают, и даже те, которые делают не может всегда делать этого, потому что все мы используем различных редакторов, таким образом, настройки как пробелы по сравнению с вкладками отличаются.
Есть ли любой стандартный инструмент линта, который проверяет, что код правильно форматирован, но на самом деле не изменяет его (как indent
но это возвращает только ошибки и предупреждения)?
В то время как на этот вопрос можно было обычно отвечать, мой фокус находится на C и C++, потому что это - то, в чем записан этот проект.
Ядро Linux использует инструмент, который делает именно это - он называется checkpatch
. Вам придется изменить его, чтобы проверить ваши стандарты кодирования, а не их, но это может быть хорошей основой для работы. (Он также предназначен для кода C, а не C ++).
Google использует cpplint . Это их руководство по стилю .
Посмотрите на Vera++, там уже есть несколько правил, но самое приятное, что вы можете их модифицировать или написать свои собственные.
Есть несколько программ, которые могут выполнять форматирование автоматически при сохранении (например, Eclipse). Вы можете задать настройки форматирования, которые могут использоваться всеми, обеспечивая одинаковое форматирование.
Также можно автоматически применять такое форматирование при фиксации кода. Когда вы используете SVN, система для этого называется svn hooks. По сути, это запускает программу для обработки (или проверки и запрета) форматирования, когда происходит фиксация.
Этот сайт объясняет, как вы можете сделать свою собственную. Но также уже существуют программы для этого.