> For the complete documentation index, see [llms.txt](https://skkv-itmo.gitbook.io/ct-c-cpp-course/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://skkv-itmo.gitbook.io/ct-c-cpp-course/course-format-rules/src-code-style.md).

# Оформление исходных текстов

1. Файл с функцией `main` должен называться `main.c`/`main.cpp`.
2. Все исходники должны быть отформатированы с использованием `.clang-format`, который будет лежать в репозиториях.
3. Переменные/объекты должны объявляться как можно ближе к месту их фактического использования. Не плодите глобальные переменные без острой на той необходимости.
4. Недопустимо создавать поля/переменные/методы/функции, начинающиеся с подчеркиваний.
5. Все функции, структуры, методы, переменные и пр. в коде называется нормально, а не `void func()`, `int abc` и пр.
6. В конце файлов с кодом (заголовочных и исходников) должна быть пустая строка ([no-newline-compile-warning](https://stackoverflow.com/questions/72271/no-newline-at-end-of-file-compiler-warning)).

Наиболее простым способом следовать этим правилам будет настроить редактор так, чтобы он выполнял такое форматирование автоматически. *Общий признак хорошего кода*: его можно прочитать по телефону и он будет понятен на той стороне.
