代码质量Skill code-quality

这个技能提供了一套代码质量指南,专注于Rust编程语言中的正确性规则、设计模式和最佳实践,旨在提高软件开发的可靠性和性能。它帮助开发者编写更安全、高效的代码,避免常见错误和过度工程化。关键词包括:代码质量、Rust编程、软件工程、正确性规则、性能优化、错误处理、避免过度工程、软件架构、系统编程、开发指南。

架构设计 0 次安装 0 次浏览 更新于 3/25/2026

名称: 代码质量 描述: 通用正确性规则,Rust模式,注释,避免过度工程。编写代码时始终考虑这些因素

代码质量指南

核心原则

生产数据库。正确性至关重要。崩溃 > 数据损坏。

正确性规则

  1. 无工作区或快速修复。 处理所有错误,检查不变量
  2. 经常断言。 绝不静默失败或忽略边缘情况
  3. 在无效状态下崩溃,如果危及数据完整性。不要在未定义状态下继续
  4. 考虑边缘情况。 时间足够长,所有可能的错误都会发生

Rust模式

  • 使非法状态不可表示
  • 详尽模式匹配
  • 优先使用枚举而非字符串/哨兵值
  • 最小化堆分配
  • 编写CPU友好的代码(微秒=长时间)

If-语句

错误:

if condition {
    // 正常路径
} else {
    // "不应发生" - 静默忽略
}

正确:

// 如果只有一个分支应该被触发:
assert!(condition, "不变量被违反: ...");
// 或者
return Err(LimboError::InternalError("意外状态".into()));
// 或者
unreachable!("不可能状态: ...");

仅当两个分支都是预期路径时才使用if-语句。

注释

做:

  • 文档化为什么,而不是是什么
  • 文档化函数、结构体、枚举、变体
  • 专注于为什么某些事情是必要的

不做:

  • 重复代码的注释
  • 引用AI对话(“这个测试应该触发bug”)
  • 时间标记(“添加”、“现有代码”、“阶段1”)

避免过度工程

  • 仅直接请求或明显必要的变化
  • 不要添加超出所请求的功能
  • 不要为未更改的代码添加文档字符串/注释
  • 不要为不可能的场景添加错误处理
  • 不要为一次性操作创建抽象
  • 三行相似的代码 > 过早抽象

确保理解IO模型

清理

  • 完全删除未使用的代码
  • 无向后兼容的hacks(重命名_vars、重新导出、// 移除注释)