代码规范
C++ 规范
使用
clang-format -i格式化4 空格缩进,120 列限制
遵循 LLVM 代码风格
添加
COMPOSITE_OPERATION宏支持 dagger 操作
命名规范
+===========================+=============================+=========================+
类型 | 规范 | 示例 |
+===========================+=============================+=========================+
类名 | UpperCamelCase |
GroverOperator |+===========================+=============================+=========================+
函数/方法 | snake_case |
add_register |+===========================+=============================+=========================+
寄存器名 | 简洁有意义 |
"addr", "data" |+===========================+=============================+=========================+
命名空间 | lowercase |
qram_simulator |性能考虑
优先使用稀疏态表示
及时清理临时寄存器:
RemoveRegister(temp_reg)(state)使用
profiler追踪性能瓶颈
性能优化示例:
// 及时清理不再使用的寄存器
auto temp_reg = AddRegister("temp", UnsignedInteger, size)(state);
// ... 使用 temp_reg ...
RemoveRegister(temp_reg)(state); // 释放内存
// 使用 profiler 定位瓶颈
{
profiler _("MySlowOperation");
ComplexOperation(params)(state);
}
注释规范
仅在以下情况添加注释:
约束条件不明显时
存在隐藏的不变量时
针对特定 bug 的 workaround
// 不要写:
// 将 a 加到 b
Add_UInt_UInt("a", "b")(state);
// 应该写:
// Workaround for known issue #123
Add_UInt_UInt("a", "b")(state);