私のメンターは、コードレビューでは、このように私のコードを変更置くべき名前空間の外側に名前空間を使用する技術的な理由はありますか?は、私はC++での名前空間の内部または外部の「名前空間を使用して」
答えて
ヘッダーファイルでは、using namespace N;
ディレクティブをグローバルスコープで使用しないでください。
すべてのクライアントコードで多くの識別子をN
から強制します。
名前空間Xの中に入れてもかまいません。using namespace X;
を実行するクライアントコードは、N
からすべての識別子も取得することに注意してください。より控えめなアプローチは、using
の宣言X
の束を持つことです。 using N::foo;
。
代替、using namespace N;
理由がN
がNot_short_enough_for_practical_use
のように、好ましくはそれが必要だ最小のスコープ内名前空間のエイリアス–を使用することで、非常に長い名前であるということです。
namespace N = Not_short_enough_for_practical_use;
先生の“訂正”移動中:using namespace
その前の名前空間は負の値です。
何かの範囲を最小限に抑えるよう常に(実用的な範囲内で)努力する必要があります。
お客様のご質問は、ご意見に基づいており、会社の社内ポリシーによって異なります。
非常に特殊なケースがありますが、ここではすべての識別子をできるだけ最初に使用するように宣言することをお勧めします。スクロールを最小限に抑え、コードを読みやすくします。また、最小のネームスペースと最もネストされたネームスペースに識別子を入れ、より広い名前空間に不要な識別子があふれないようにします。
もし私があなただったら、彼が提案した変更について、あなたの指導者から強く合理的な説明を要求するでしょう。
はい、実際に私は彼に私のサンプルを見せてくれました。どうもありがとう! –
- 1. TypeScript:名前空間内での内部インターフェイスの使用方法
- 2. System.Collectionsは「システム名前空間の名前空間」ですか?
- 3. 名前空間パターンは、私は、次の名前空間パターンを使用していますエラー
- 4. 他の名前空間内の名前空間からの関数の使用
- 5. C++での名前空間
- 6. C++ - 名前空間
- 7. 名前空間の例外
- 8. 名前空間名は「MvcSiteMapProvider」
- 9. 別の名前空間内からのC++グローバル名前空間アクセス
- 10. C#名前空間のガイドライン
- 11. C++ - クラスの名前空間
- 12. C#XPATHの名前空間
- 13. 名前空間内のプライベートクラス
- 14. 名前空間内のクラス
- 15. 名前空間内のコンストラクタ
- 16. タイプまたは名前空間の名前 `Windows 'がユニティの名前空間' UnityEngine 'に存在しません
- 17. 型または名前空間の名前Webが名前空間のシステムに存在しません
- 18. 名前空間内のC#のフィールドメソッド
- 19. 名前空間名 'Notify'は名前空間に存在しません。Twilio.Rest
- 20. タイプまたは名前空間の名前UpdatePanelが名前空間System.Web.UIに存在しません
- 21. 名前空間に型または名前空間の名前が存在しません
- 22. 名前空間内のC++グローバル変数
- 23. はNDBは、名前空間
- 24. 名前空間なしのGroovy XMLSlurper名前空間エラー
- 25. Javascriptが私はこのような名前空間にファイルfoo.jsはしてきた名前空間
- 26. PHP - PSR-4オートローディングコンポーザーの名前空間付きファイルの名前空間を使用
- 27. C#System.Typeは名前空間ですか?
- 28. 名前空間 "FormAuthentication"の型名または名前空間名 "SetAuthCookie"が存在しません
- 29. 名前空間
- 30. 名前空間
ありがとうございます。名前空間エイリアスは特に便利です! –