I Don't Like Imports
9 months ago
- #programming
- #imports
- #rust
- 作者倾向于不将外部符号导入局部作用域,以保持代码清晰并避免歧义。
- 使用完全限定名可以更轻松地在文件间复制粘贴代码,而无需担心缺少导入。
- 库中的长名称通常是由于库作者命名不当,而非完全限定名本身存在问题。
- 避免导入有助于防止命名冲突,并确保每个符号的来源清晰可辨。
- 作者承认有时导入是必要的(尤其是对极长的名称),但仍倾向于限制其作用范围。
- 在Rust中,作者建议提供扁平化API并通过重新导出来避免深层嵌套的层级结构。
- Rust中的特质(Trait)可能使无导入方案复杂化,但有时可通过完全限定方法调用替代。
- 作者批评Rust标准库的深层层级结构,但接受其为需要应对的现实问题。