Closed qryxip closed 8 months ago
use super::*やuse self::foo::*のようなglob importを取り除きます。
use super::*
use self::foo::*
ただし次のような、fn内でのenumのバリアントに対するものは残します。なぜならこれらは影響範囲が限定的だからです(人間の認知にとっても)。
fn
https://github.com/VOICEVOX/voicevox_core/blob/0788c2ef225f0665cbe371b80ee3f3b53a869f2a/crates/voicevox_core_c_api/src/helpers.rs#L25-L32
コードエティタの支援の仕組みが完全に整っていなかったRust出始めの数年(2010年代後半)とは違ってRust Analyzerがある現在、glob importの恩恵は少なくなっていると思います。加えてこのリポジトリの場合、パブリックにする必要のないアイテムまでpubが付けられることによって結構カオスなことになっていると感じています。先日のブロッキング版APIのときもちょくちょく牙を剥いてくるように感じました。
pub
glob importを使った方が適切な箇所があったとしても、いったん可視性について設計し直したあと改めてglob importにする、という流れの方がよいかなと思いました。
Resolves #467.
内容
use super::*
やuse self::foo::*
のようなglob importを取り除きます。ただし次のような、
fn
内でのenumのバリアントに対するものは残します。なぜならこれらは影響範囲が限定的だからです(人間の認知にとっても)。https://github.com/VOICEVOX/voicevox_core/blob/0788c2ef225f0665cbe371b80ee3f3b53a869f2a/crates/voicevox_core_c_api/src/helpers.rs#L25-L32
コードエティタの支援の仕組みが完全に整っていなかったRust出始めの数年(2010年代後半)とは違ってRust Analyzerがある現在、glob importの恩恵は少なくなっていると思います。加えてこのリポジトリの場合、パブリックにする必要のないアイテムまで
pub
が付けられることによって結構カオスなことになっていると感じています。先日のブロッキング版APIのときもちょくちょく牙を剥いてくるように感じました。glob importを使った方が適切な箇所があったとしても、いったん可視性について設計し直したあと改めてglob importにする、という流れの方がよいかなと思いました。
関連 Issue
Resolves #467.
その他