Rust中通配符/前奏输入的最佳实践是什么?

Rust中通配符/前奏输入的最佳实践是什么?,rust,rust-diesel,Rust,Rust Diesel,在Rust中,我们可以使用use module_name::*;导入给定模块中的所有内容语法。虽然我可以看到这会导致更快的开发[1],但我喜欢Python的格言:“显式优于隐式”。虽然我可以肯定地看到隐式使用std::prelude::*,我对使用柴油机感到不舒服::前奏::*(好吧,这是一个显式导入,但它真的应该是一个通配符吗?) 如果我使用explicituse diesel:{RunQueryDsl,ExpressionMethods,QueryDsl}可以吗还是我应该放弃并使用使用柴油机

在Rust中,我们可以使用
use module_name::*;导入给定模块中的所有内容语法。虽然我可以看到这会导致更快的开发[1],但我喜欢Python的格言:“显式优于隐式”。虽然我可以肯定地看到隐式
使用std::prelude::*,我对使用柴油机感到不舒服::前奏::*(好吧,这是一个显式导入,但它真的应该是一个通配符吗?)

如果我使用explicit
use diesel:{RunQueryDsl,ExpressionMethods,QueryDsl}可以吗还是我应该放弃并使用
使用柴油机::序曲::*


[1] 您不需要复制所有要导入的名称,也不需要在模块中的所有项目前面加上
module\u name::

前奏是通过通配符导入的,但这并不意味着您必须使用它。但是,请记住,它通常包含一些特征,这些特征没有明显使用,但需要调用类型上的方法。(调用其特征不在范围内的方法会导致编译器错误。)