Install
openclaw skills install cpp-code-styleC++/CPP代码都用这个coding style, code style, 代码风格,写代码之前阅读下面规则
openclaw skills install cpp-code-style写代码严格按照下面规则。 注意:external,3rdparty,.gitignore里面的文件都不在该规则范围内。
snake_case.hpp, snake_case.cppCamelCasecamelCase(小驼峰,首字母小写)snake_casem_camelCase(m_前缀 + 小驼峰),不要m_camelCase_kCamelCase(全局常量用 g_CamelCase)snake_caseclass Foo : public Bar {
public:
void Method() {
if (condition) {
DoSomething();
}
}
};
// 正确
int* ptr;
int& ref;
void Func(int param1, int param2) { ... }
// 类成员变量
class MyClass {
public:
void myMethod() {
m_counter = 0; // m_ 前缀
int local_var = 0; // 局部变量用 snake_case
}
private:
int m_counter; // 成员变量 m_ + camelCase
};
// 错误
int *ptr;
int &ref;
void Func( int param1, int param2 ) { ... }
class MyClass {
int counter; // 缺少 m_ 前缀
};
#pragma once
// 或者
#ifndef _FILE_NAME_H_
#define _FILE_NAME_H_
// ... code ...
#endif // _FILE_NAME_H_
using namespace 污染全局命名空间namespace foo { 和 } // namespace foo 的格式namespace 声明后跟一对空大括号namespace litho {
namespace geo {
class Point { ... };
} // namespace geo
} // namespace litho
// 单行注释/* */ 多行注释(仅当需要块注释时)/** ... */ 格式// 单行注释
/*
* 多行注释
*/
/**
* 函数描述
* @param x 参数描述
* @return 返回值描述
*/
private: 之前声明公有的virtual,在定义中不使用 virtual 关键字constexpr 而不是 const// NOLINT 关闭特定的 lint 警告(如果需要)项目已配置 .clang-format 文件,使用 Google 风格。
检查.clang-format 文件是否符合上述规则,不符合修改.clang-format 文件。
格式化文件:
clang-format -i src/geo/*.hpp tests/*.cpp