背景
Code review 发现 TUI 模块(4500行, 37文件)整体质量 B+,以下是从 B+ 到 A- 的优化项。
问题 1:CurrentlyEditing 和 EditingField 重复
app/state/mod.rs 的 CurrentlyEditing 和 app/state/form_state.rs 的 EditingField 几乎完全相同,通过 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)
背景
Code review 发现 TUI 模块(4500行, 37文件)整体质量 B+,以下是从 B+ 到 A- 的优化项。
问题 1:CurrentlyEditing 和 EditingField 重复
app/state/mod.rs的CurrentlyEditing和app/state/form_state.rs的EditingField几乎完全相同,通过Fromtrait 互转。注释已写"保留以兼容现有代码"。建议: 统一为
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)