Skip to content

TUI: 清理重复枚举 + 统一 Component trait #93

Description

@Ding262

背景

Code review 发现 TUI 模块(4500行, 37文件)整体质量 B+,以下是从 B+ 到 A- 的优化项。

问题 1:CurrentlyEditing 和 EditingField 重复

app/state/mod.rsCurrentlyEditingapp/state/form_state.rsEditingField 几乎完全相同,通过 From trait 互转。注释已写"保留以兼容现有代码"。

建议: 统一为 EditingField,全局替换 CurrentlyEditing,删除冗余枚举和 From 实现。

问题 2:event_handler 按键处理模式重复

link_screens.rs(303行)、file_screens.rs(115行)、misc_screens.rs(61行)结构相似,可抽象公共 handler trait 或宏。

问题 3:Component trait 生命周期不统一

component.rs 定义了 Component trait,但各屏幕未完全统一到该 trait。建议所有屏幕实现统一的 render + handle_action 接口,通过 trait object 或 enum dispatch 调用。

优先级

低。当前 TUI 整体质量不错,这些是精细化优化。


注意: 合并自 #92(重复 issue)

Metadata

Metadata

Assignees

Labels

EnhancementNew feature or requestPriority: LowLow priority issueRustPull requests that update Rust code

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions