用途:为 Rust 项目强制执行一种模块布局约定,即不使用 mod.rs 作为模块根文件。
主要规则:对于名为 foo 的模块,首选 foo.rs(模块根)配合 foo/ 目录,子模块以 foo/bar.rs 等形式放在其中;避免使用 foo/mod.rs 作为 foo 的根。不要引入新的 mod.rs 文件,在触碰相关区域时逐步迁移。lib.rs 与 main.rs 遵循同样思路:mod foo; 解析为 foo.rs 或 foo/mod.rs,选择 foo.rs + foo/。
布局示意:src/ 下有 lib.rs、foo.rs(其中声明 pub mod bar; mod util;)以及 foo/ 目录,内含 bar.rs、util.rs。应避免的结构是 src/foo/mod.rs。
使用方式:新增子模块时写成 parent/child.rs 并在 parent.rs(与 parent/ 目录同级的文件)中声明。若发现 path/to/mod.rs,规划将其移动到 path/to/ 旁的 path/to.rs,保持同一模块树,并让 mod 声明与 pub use 行为等价。不要为方便或沿用旧教程惯例新建 mod.rs。
例外:生成代码或第三方 vendored 目录保持原样,除非用户要求规范化;若项目文档标准仍要求 mod.rs,则遵循该仓库,否则应用本技能。
文档依据:Rust 书中说明模块可为 module_name.rs 或 module_name/mod.rs;新工作与重构优先采用 module_name.rs + module_name/ 形式。
限制:资料未提供安装方式、命令、价格、支持平台或效果数据,暂未提供。