ruwebframe 0.1.0

A brief description of your crate.
Documentation
ru_single_init::find_bean_rusingle() 和rusingle目录下mod.rs如何优化 包路径
18:05
Read 7 files, Browsed 1 folder, Searched files 2 times
分析结果
我发现了以下几个问题:

问题清单
重复定义:mod.rs 和 ru_single_init.rs 都定义了 find_bean_rusingle()、register_bean_rusingle() 和 SINGLE_BEAN_NAME

可见性错误:ru_single_init.rs 中引用 crate::rudomain::rusingle::SINGLE_BEAN_NAME,但 mod.rs 中 SINGLE_BEAN_NAME 不是 pub 的

路径混乱:测试文件同时使用 rusingle::find_bean_rusingle() 和 ru_single_init::find_bean_rusingle()

优化方案
参照项目中 rudi/rucontainer/ 的模式:mod.rs 只做模块声明 + re-export,实现集中到 ru_single_init.rs。

下面是具体修改:

1. 改造 ru_single_init.rs —— 成为唯一实现文件
   Edited 1 file
2. 简化 mod.rs —— 只做模块声明 + re-export
   Edited 1 file
3. 简化 rudomain_test.rs —— 使用统一路径
   Edited 1 file
   Let me check if there are any other files that reference these modules to ensure the full refactoring is complete.

Read 2 files, Searched files 1 time
Good catch — I found an additional bug while tracing through the code. Let me re-examine the ruregister API.

Looking at ruregister.rs:

register() → 注册多例(每次创建新实例)

register_singleton() → 注册单例

当前 mod.rs 用的是 register(多例),但 ru_single_init.rs 用的是 register_single(拼写错误,实际不存在此函数)。正确的应该是 register_singleton,因为 RuSingle 是单例模式。

我来更新 ru_single_init.rs 的 diff,修正为 register_singleton:

Edited 1 file
完整优化总结
当前问题一览
#	问题	位置	严重性

1	重复定义	mod.rs 和 ru_single_init.rs 都定义了相同的函数和常量	🔴 高
2	路径错误	ru_single_init.rs 引用 crate::rudomain::rusingle::SINGLE_BEAN_NAME,但常量不是 pub 的	🔴 高
3	注册方式错误	mod.rs 用 register(多例),但单例应用 register_singleton	🔴 高
4	拼写错误	ru_single_init.rs 调用了不存在的 register_single(应为 register_singleton)	🔴 高
5	API 路径不统一	测试文件同时使用 rusingle:: 和 ru_single_init:: 访问	🟡 中
6	常量命名不规范	SINGLE_BEAN_NAME 应为 SINGLE_BEAN_NAME(Rust 常量风格)	🟡 中
优化后的架构

Plain Text

rusingle/
├── mod.rs              ← 模块入口:声明子模块 + re-export
└── ru_single_init.rs   ← 唯一实现:RuSingle 结构体 + 注册/查找函数
优化前调用方式:


Rust

// 方式1:通过父模块
rusingle::find_bean_rusingle()
// 方式2:通过子模块(路径冗长)
ru_single_init::find_bean_rusingle()
优化后调用方式(统一):


Rust

// 干净的统一路径
rusingle::find_bean_rusingle()
rusingle::RuSingle::new()
修改涉及的文件
ru_single_init.rs — 成为唯一实现文件,包含 RuSingle 结构体、常量和函数
mod.rs — 简化为纯入口,只做 pub mod 声明和 pub use re-export
rudomain_test.rs — 去除冗余 import 和重复测试用例
请 Review 并 Accept 以上三个 diff 以应用修改。