Files
udmin/.trae/rules/code_rules.md
ayou dfa1cbdd2f feat(前端): 优化页面布局和查询表单样式
- 在FlowList和FlowRunLogs页面添加PageHeader组件
- 统一ScheduleJobs页面的查询表单样式为内联布局
- 为表格分页添加showSizeChanger选项
- 新增Rust代码规范文档
2025-09-25 21:51:45 +08:00

2.3 KiB
Raw Permalink Blame History

Rust 复杂文件代码规范顺序(紧凑版)

  1. 文件说明

    • 使用 //! 模块文档注释,描述文件或模块作用。
    • 必须位于文件最顶部。
  2. 版权声明(可选)

    • 如果项目需要版权信息,放在文档注释之后。
  3. 外部依赖和模块引入use

    • 所有 use 必须放在文件顶部,不能出现在中间或底部。
    • 引入顺序:标准库 -> 当前 crate 模块 -> 父模块 -> 第三方库
    • 每一类之间空 1 行,同一类内部按字母序排列
    • 所有 use 不允许添加注释说明分组
    • 紧凑要求:单行导入尽量合并,不要强行拆成多行
  4. 子模块声明mod

    • 写在所有 use 之后
    • pub modmod 都在这里集中声明
  5. 常量定义const / static

    • 必须在类型定义之前
    • 命名使用 SCREAMING_SNAKE_CASE
    • 紧凑要求:值较短时保持单行,不要拆行
  6. 类型别名type

    • 放在常量之后、结构体之前
  7. 结构体定义struct

    • 放在文件的类型区域开头
    • 所有 struct 必须集中写在这里,不允许与 impl 穿插
    • 紧凑要求:字段数量不多时保持单行;字段多时每行一个
  8. 枚举定义enum

    • 紧随结构体之后,集中定义所有枚举类型
    • 紧凑要求:简单枚举保持单行,复杂枚举多行
  9. 联合体定义union

    • 如果需要,放在枚举之后
  10. Trait 定义

    • 紧跟在所有数据类型struct/enum/union之后
  11. 实现块impl Struct

    • 必须放在类型定义和 Trait 定义之后
    • 内部方法顺序:构造函数 -> 公共方法 -> 私有方法
    • 紧凑要求函数体内调用链、元组、match 分支若能在一行内写清楚,则保持单行
  12. Trait 实现impl Trait for Struct

    • 紧跟对应的 impl Struct 之后
    • 不要与其他类型的实现混在一起
  13. 自由函数fn不属于任何 impl

    • 文件中独立函数放在最后
    • 按功能分组,可以用注释分隔
    • 紧凑要求:参数少的函数调用保持单行
  14. 测试模块(#[cfg(test)] mod tests

    • 永远放在文件最末尾
    • 仅用于单元测试代码