代码风格指南

本文档介绍小智 ESP32 项目的代码风格规范,项目使用 clang-format 工具来统一代码风格。

工具介绍

项目根目录提供了 .clang-format 配置文件,该配置基于 Google C++ 风格指南,并做了一些自定义调整。

主要格式规则

规则说明
缩进使用 4 个空格
行宽限制100 字符
大括号风格Attach 风格(与控制语句在同一行)
指针/引用符号靠左对齐
头文件排序自动排序
类修饰符缩进为 -4 空格

安装 clang-format

Windows

winget install LLVM
# 或者使用 Chocolatey
choco install llvm

Linux

# Ubuntu/Debian
sudo apt install clang-format

# Fedora
sudo dnf install clang-tools-extra

macOS

brew install clang-format

使用方法

格式化单个文件

clang-format -i path/to/your/file.cpp

格式化整个项目

# 在项目根目录下执行
find main -iname *.h -o -iname *.cc | xargs clang-format -i

提交前检查格式

# 检查文件格式是否符合规范(不修改文件)
clang-format --dry-run -Werror path/to/your/file.cpp

IDE 集成

Visual Studio Code

  1. 安装 C/C++ 扩展
  2. 在设置中启用 C_Cpp.formattingclang-format
  3. 可设置保存时自动格式化:editor.formatOnSave: true

CLion

  1. 设置 > Editor > Code Style > C/C++
  2. Formatter 设置为 clang-format
  3. 选择使用项目中的 .clang-format 配置文件

特殊处理

禁用格式化

如果某段代码不希望被格式化,可以使用注释包围:

// clang-format off
// 你的代码
// clang-format on

注意事项

  1. 提交代码前:请确保代码已经过格式化
  2. 不要手动调整:已格式化的代码对齐
  3. 配置文件位置:确保使用项目根目录下的 .clang-format 配置
  4. 文件编码:验证文件编码为 UTF-8

常见问题

格式化失败

  • 检查 clang-format 版本是否过低
  • 确认文件编码为 UTF-8
  • 验证 .clang-format 文件语法是否正确

与期望格式不符

  • 检查是否使用了项目根目录下的 .clang-format 配置
  • 确认没有其他位置的 .clang-format 文件被优先使用

相关链接