Требования к коду на C++ #
Смотрите также общие Соглашения о кодировании.
Версия языка #
Используйте C++23 или выше и зафиксируйте этот выбор в CMake (это уже сделано в шаблоне).
Стиль кодирования #
- Используйте существующий стиль кодирования — например, стиль Microsoft, Google или LLVM
- Применяйте автоформатирование и настройте
.clang-formatв соответствии с выбранным стилем - Следуйте выбранному стилю в именовании
Технологические требования #
Обязательные инструменты:
- CMake как система сборки
- Clang-format для форматирования исходного кода
- Clang-tidy для статического анализа — правила настраивайте как угодно
- Фреймворк модульного тестирования — Catch2
Пакетный менеджер выбирайте по ситуации — рекомендуется полагаться на find_package в CMake, но можно использовать Conan2.
Материалы по C++ #
Материалы автора курса:
- Статья Современный CMake: 10 советов по улучшению скриптов сборки
- Проект Компилятор языка Tiger на C++23 и LLVM
- Небольшие примеры на С++ (CMake, Conan, Catch2) 2024 года: https://github.com/sergey-shambir/cpp-warmup-2024