名称: 代码质量 描述: 通用正确性规则,Rust模式,注释,避免过度工程。编写代码时始终考虑这些因素
代码质量指南
核心原则
生产数据库。正确性至关重要。崩溃 > 数据损坏。
正确性规则
- 无工作区或快速修复。 处理所有错误,检查不变量
- 经常断言。 绝不静默失败或忽略边缘情况
- 在无效状态下崩溃,如果危及数据完整性。不要在未定义状态下继续
- 考虑边缘情况。 时间足够长,所有可能的错误都会发生
Rust模式
- 使非法状态不可表示
- 详尽模式匹配
- 优先使用枚举而非字符串/哨兵值
- 最小化堆分配
- 编写CPU友好的代码(微秒=长时间)
If-语句
错误:
if condition {
// 正常路径
} else {
// "不应发生" - 静默忽略
}
正确:
// 如果只有一个分支应该被触发:
assert!(condition, "不变量被违反: ...");
// 或者
return Err(LimboError::InternalError("意外状态".into()));
// 或者
unreachable!("不可能状态: ...");
仅当两个分支都是预期路径时才使用if-语句。
注释
做:
- 文档化为什么,而不是是什么
- 文档化函数、结构体、枚举、变体
- 专注于为什么某些事情是必要的
不做:
- 重复代码的注释
- 引用AI对话(“这个测试应该触发bug”)
- 时间标记(“添加”、“现有代码”、“阶段1”)
避免过度工程
- 仅直接请求或明显必要的变化
- 不要添加超出所请求的功能
- 不要为未更改的代码添加文档字符串/注释
- 不要为不可能的场景添加错误处理
- 不要为一次性操作创建抽象
- 三行相似的代码 > 过早抽象
确保理解IO模型
清理
- 完全删除未使用的代码
- 无向后兼容的hacks(重命名
_vars、重新导出、// 移除注释)