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

60 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Rust 复杂文件代码规范顺序(紧凑版)
1. **文件说明**
- 使用 `//!` 模块文档注释,描述文件或模块作用。
- 必须位于文件最顶部。
2. **版权声明(可选)**
- 如果项目需要版权信息,放在文档注释之后。
3. **外部依赖和模块引入use**
- 所有 `use` 必须放在文件顶部,不能出现在中间或底部。
- 引入顺序:标准库 -> 当前 crate 模块 -> 父模块 -> 第三方库
- 每一类之间空 1 行,同一类内部按字母序排列
- 所有 `use` **不允许**添加注释说明分组
- 紧凑要求:单行导入尽量合并,不要强行拆成多行
4. **子模块声明mod**
- 写在所有 `use` 之后
- `pub mod``mod` 都在这里集中声明
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**
- 永远放在文件最末尾
- 仅用于单元测试代码