feat(前端): 优化页面布局和查询表单样式
- 在FlowList和FlowRunLogs页面添加PageHeader组件 - 统一ScheduleJobs页面的查询表单样式为内联布局 - 为表格分页添加showSizeChanger选项 - 新增Rust代码规范文档
This commit is contained in:
60
.trae/rules/code_rules.md
Normal file
60
.trae/rules/code_rules.md
Normal file
@ -0,0 +1,60 @@
|
||||
# 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)**
|
||||
- 永远放在文件最末尾
|
||||
- 仅用于单元测试代码
|
||||
Reference in New Issue
Block a user