SuperAPI AI 工具集

rust-module-layout

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:规范单个 Rust crate 内部的结构,决定 src/ 文件树、mod 声明、可见性与公共再导出面,是 rust-workspace 的 crate 内对应技能。

主要能力:把逻辑模块层级映射为物理目录;将 lib.rs/main.rs 写成薄索引;在 foo.rs、foo/mod.rs、foo/(2018+ 与现代)之间选择;使用语义化模块名(如 connection 而非 db);有意使用 pub、pub(crate)、pub(super)、pub(in path);通过定向 pub use 设计扁平的公共外观;识别并重构扁平 lib.rs + pub use :: 反模式;在不破坏调用方的前提下拆分数百行文件;把旧式 mod.rs 迁移到 foo.rs + foo/。

关键规则:目录在被父模块声明前不是模块,必须逐级写 mod;默认全部私有,只有 pub 才暴露;pub 项的可见性受父路径限制,路径上任一模块非 pub 则外部不可达。

用法:先划分逻辑域并确定顶层可见性;把实现模块设为私有,在 lib.rs 用定向 pub use 构建外观;选择模板(小型单文件、中型目录、大型嵌套);最后运行 cargo check 与 cargo doc --no-deps --open 校验公共 API 是否泄漏。

限制:不涉及 Cargo.toml/依赖/feature、工作区拆分、unsafe 块可见性,分别由 rust-cargo-build、rust-workspace、rust-unsafe-ffi 处理;需具备 Rust 所有权与模块语法基础。该技能不收集、存储或传输用户数据。