禁止使用 panic(除非100%不会触发）
只有 100%不会出错的时候，才允许用 unwrap
用 as 等数字转换要小心静默失败
约束要最小化（避免冗余的约束）
参数要秉承最小化原则,能传部分属性,就不要传入整个结构体
避免不必要的复制 clone 开销，时间复杂度、空间复杂度都要追求完美
不写重复的代码，不写雷同的类，可通过函数抽象+泛型参数、泛型 trait 等编程技巧减少冗余代码
函数名,变量名都要简洁，不要起冗长的名
用到的模块、函数都尽量在文件开头导入
避免雷同的字符串，请定义为常量
安装包依赖都用 cargo add 和 cargo add -F,不可直接编辑 Cargo.toml
Cargo.toml 的 edition 用 2024, rust 要用最新写法，禁止用过时的模块
use 要写明具体的导入模块
注释都写英文和中文双语,注释要简洁，不必注释显而易见的东西,不要写语言名做前缀
格式化字符串尽量把变量名写到字符串中,比如 format!("{varname}")
锁尽量用 parking_lot
如果需要一个并发读写的字典, 用 papaya
每次写完记得 ./test.sh 测试编译
遇到问题,多用 dbg!进行调试
@src/ 中一级模块的公开函数和结构体都在 @src/lib.rs 导出，模块间相互引用函数用 crate::函数名， 而不是 crate::模块名::函数名
./src/table.rs 第一个参数为 key: &SubTableKey 的函数，都在 ./src/sub_table.rs 中定义同名函数（ 这个同名函数不需要 key 参数，因为它们已经在具体的子表实例上调用）