モジュールをロードするときに、モジュールがデフォルトでこれらの関数をエクスポートするとき、およびオブジェクト指向のインターフェイスを使用するときに、必要な関数を明示的にインポートするのは意味がありますか?デフォルトでエクスポートされたときに関数を明示的にインポートし、オブジェクト指向インターフェイスを使用するのは意味がありますか?
0
A
答えて
4
私はこれが主観的だと思いますが、はい、しばしば意味があります。デフォルトのインポートがより便利ですが、明示的なインポートは幾分安全です。何かを誤ってインポートする可能性が低いからです。
[…]オブジェクト指向のインターフェイスを使用する場合は、
モジュールのみオブジェクト指向のインターフェイスを持っている場合(メソッド呼び出しがインポートされたメソッド名の恩恵を受けていないので)、それはデフォルトでは非常に多くをエクスポートするべきではありません。モジュールがの場合は、オブジェクト指向のインタフェースとのいずれも手続き型であり、オブジェクト指向のインタフェースのみを使用している場合は、明示的にインポートを指定することをお勧めします。ほとんど輸入が必要ない(または全く輸入されていない)。これはもちろん、モジュールがデフォルトでプロシージャー関数名のいずれかをエクスポートするかどうかによって異なります。
2
デフォルトでエクスポートされていても、インポートする関数を明示的に宣言することで、使用していないかもしれない他の関数のインポートをモジュールが停止します。
関連する問題
- 1. ghcには、明示的にエクスポートされていないシンボルをインポートする方法がありますか?
- 2. スタンドアロンアプリケーションでのメッセージ指向のコミュニケーション - それは意味がありますか?
- 3. Cのmain関数で静的変数を使用するのは意味がありますか?
- 4. 自分のシーンに明示的なフィードバックコラボレーティブフィルタリングベースのレックシステムを構築することは意味がありますか?
- 5. Python:サブパッケージをインポートするのは意味がありますか?
- 6. Jasmine spy on関数が親オブジェクトなしでエクスポートされ、NODEでES6を使用してインポートされました
- 7. 構文指向翻訳とは何を意味しますか?
- 8. オブジェクト指向理論では、派生クラスが親オブジェクトのインターフェイスを継承する必要がありますか?
- 9. ブースト関数オブジェクトが指す関数の名前をデバッガに表示させることはできますか?
- 10. JavaScriptで明示的にエクスポートされていないものをインポートする
- 11. PHPで関数の引数として使用される変数代入は何を意味しますか?
- 12. デフォルトのパラメータをPython関数で明示的に渡す必要がなく、順番どおりに使用する方法はありますか?
- 13. ES6 - すべての名前付きエクスポートをインポートするにはエレガントな方法がありますが、デフォルトのエクスポートはインポートできませんか?
- 14. Javaインターフェイス - オブジェクト指向の関連
- 15. 明示的に関数をバインドする必要がありますか?
- 16. オブジェクト指向のインターフェイス、抽象クラス、コンクリートクラスに関する質問
- 17. 静的なconstexpr変数は意味がありますか?
- 18. オブジェクト指向プログラミングにCを使用できますか?
- 19. インポートされたインターフェイスをTypeScriptにエクスポートする
- 20. typedefとusingが意味的に同等であることは何を意味しますか?
- 21. ハッシュ関数が増分であることは何を意味しますか?
- 22. オブジェクト宣言はPythonクラスで何を意味しますか?使用する必要がありますか?
- 23. WinBUGS/OpenBUGSで明示的にlogit関数を指定する
- 24. groovyクロージャがデリゲートのスコープで定義された変数を変更するには、delegate.theVariableNameを明示的に指定する必要がありますか?
- 25. オブジェクト指向のPHPクラスでは、$ this-> name = $ nameの意味は何ですか?
- 26. exeが動的にコンパイルされることは何を意味しますか?
- 27. 明示的にデフォルトした関数は、暗黙的な宣言が
- 28. datastaxオブジェクトマッパーの意味のある使用はありますか?
- 29. AzureのWebサイトを使用しているときに、owinを使用する意味がありません
- 30. libmmsの使用中にエラーメッセージが表示されましたが、それはどういう意味ですか?
@downvoter:理由を説明してください。 – ruakh