Рекомендации по оформлению кода
На этой странице приведены лишь некоторые особо важные правила оформления кода C++. Полный список можно найти здесь.
- В первой строке файла должна быть указана информация об авторстве:
// Copyright 2020 Ivanov Ivan
- Определение препроцессора для include guard в заголовочном файле должно включать в себя полный путь к файлу относительно репозитория:
#ifndef MODULES_TASK_1_IVANOV_I_VECTOR_SUM_VECTOR_SUM_H_ #define MODULES_TASK_1_IVANOV_I_VECTOR_SUM_VECTOR_SUM_H_ ... #endif // MODULES_TASK_1_IVANOV_I_VECTOR_SUM_VECTOR_SUM_H_
- Порядок подключения заголовочных файлов должен быть следующий: файлы заголовков библиотек C, файлы заголовков библиотек С++, ваши заголовочные файлы. Причем, путь к вашему файлу должен быть указан с включением пути от корня репозитория (странно, но ладно). Например:
#include <mpi.h> #include <vector> #include <random> #include <numeric> #include "../../../modules/task_1/ivanov_i_vector_sum/vector_sum.h"
- Открывающая фигурная скобка не должна находиться на отдельной строке. Например:
if (x >= 0) { ... }
При этом
else
должно находиться на одной строке с обеими фигурными скобками:if (x >= 0) { ... } else { ... }
- Перед открывающими скобками в управляющих конструкциях должен стоять пробел. Например:
if (...) for (...) while (...)
- Строка не должна оканчиваться пробелом
- В строке не должно быть больше 120 символов
- Используйте для отступов 4 пробела, а не табуляцию
- В конце файла должна быть пустая строка
- Используйте формат перевода строк LF (\n, Unix-style), а не CRLF (\r\n, Windows-style)
- Используйте
static_cast
для приведения типов
Автоматическая проверка оформления
Вы можете запустить проверку кода в своей ветке самостоятельно. Для этого, находясь в папке с репозиторием, выполните команду:
python scripts/lint.py