2012-03-11 3 views
0

モジュールをロードするときに、モジュールがデフォルトでこれらの関数をエクスポートするとき、およびオブジェクト指向のインターフェイスを使用するときに、必要な関数を明示的にインポートするのは意味がありますか?デフォルトでエクスポートされたときに関数を明示的にインポートし、オブジェクト指向インターフェイスを使用するのは意味がありますか?

答えて

4

私はこれが主観的だと思いますが、はい、しばしば意味があります。デフォルトのインポートがより便利ですが、明示的なインポートは幾分安全です。何かを誤ってインポートする可能性が低いからです。

[…]オブジェクト指向のインターフェイスを使用する場合は、

モジュールのみオブジェクト指向のインターフェイスを持っている場合(メソッド呼び出しがインポートされたメソッド名の恩恵を受けていないので)、それはデフォルトでは非常に多くをエクスポートするべきではありません。モジュールがの場合は、オブジェクト指向のインタフェースのいずれも手続き型であり、オブジェクト指向のインタフェースのみを使用している場合は、明示的にインポートを指定することをお勧めします。ほとんど輸入が必要ない(または全く輸入されていない)。これはもちろん、モジュールがデフォルトでプロシージャー関数名のいずれかをエクスポートするかどうかによって異なります。

+0

@downvoter:理由を説明してください。 – ruakh

2

デフォルトでエクスポートされていても、インポートする関数を明示的に宣言することで、使用していないかもしれない他の関数のインポートをモジュールが停止します。

関連する問題