Измененный скрипт Google, проверяющий стиль исходного кода c++
Исходный скрипт находится тут:
http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
Изменено следующее:
- Добавлена проверка на то, что имя класса начинается на 'C', а имя структуры на 'S'
- Оригинальный скрипт ругается если между концом строчки кода и комментом менее двух пробелов, теперь он ругается если пробелов менее одного.
- Убрано предупреждение, которое ругалось на код вида
class CTest
{
}
гугл требовал объявлять классы так
class CTest {
}
- Добавлено проверка наличия doxygen-комментариев перед объявлением класса.
Объявлять класс требуется так:
/// doxygen comment
class CTest
{
};
- Все отступы в коде должны быть кратны 4-м пробелам.
Добавлена проверка отступов в болоках { }
Теперь код обрабатывается следующим образом:
{
int i; // корректно
int n; // корректно
int k; // предупреждение!
{
public: // корректно
int s; // корректно
}
} // предупреждение! т.к. у закрывающей скобки отступ не равен открывающей.
-
Директивы типа #ifdef, #define должны начинаться с самого начала строки.
Пробелы перед # в начале строки недопустимы.
-
Макросы должны начинаться с DEF_
define DEF_MAX(i, j) ((i) > (j) ? (i) : (j)) // хорошо
define MAX(i, j) ((i) > (j) ? (i) : (j)) // плохо