4

職場では、彼らは名前空間の命名を非常に精巧に行ってきました (私の時代より前に)。典型的な名前空間は

CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName

残念ながら、冗談ではありません。問題は、プロジェクトが存在する場所がある程度明確になっているにもかかわらず、非常にうるさいことです。短くしたい。

using(使用する名前空間の宣言に関して) キーワードを使用してから、等号を使用して名前空間エイリアスを使用したいと考えています。この問題は、名前空間宣言とクラスのプロパティの間のあいまいさに変わります。例えば

Project.Message

現状では、 Project が静的クラスの名前なのか、名前空間なのか、それとも既に初期化されたオブジェクトの名前なのかを示すものはありません (ただし、単語this.はそれを明確にするのに役立ちます)。

その背景を踏まえて、私の質問は命名規則についてです。私にとっては、ハンガリー式の命名規則を使用するのが理にかなっています (最近ではかなり時代遅れと見なされていることはわかっています)。

using nsProject = CompanyName.SubCompanyName.DepartmentName.ProjectName.UniqueProjectName.ProjectName.FilteredProjectName

ns (名前空間) というプレフィックスを付けたことに注意してください。したがって、コードが次のいずれかのように見える場合、少なくともある程度明確になります。

this.Project.Message
nsProject.Message
Project.Message

上記の 3 つの例はかなり明確になりました。1 つ目はプロジェクトで既に宣言されており、2 つ目は名前空間であり、3 つ目はおそらく静的メソッド呼び出しです。

このアプローチについてコメントはありますか。私は車輪を再発明していますか(すでにガイドラインが存在していますか)、それとも何ができるかについて別の意見を持っている人はいますか?

編集

Alias を使用するもう 1 つの理由は、現在の名前空間がフォルダー構造と一致しない (またはいくつかの場所で意味がない) ことです。したがって、使用されているオブジェクト/名前空間のタイプを明確にしたいだけでなく、エイリアスはフォルダーの場所に関するガイドにもなります。私は知っています、これはおそらくハッキングなどと解釈されますが、(この投稿のコメントによると)これは多くの最初の段階です.

4

1 に答える 1

2

「公式」のガイドラインについては知りませんが、名前空間に別名を付けるときは常に、会社とプロジェクトの短縮形を使用します。これにより、(例を使用して)次のようになります。

this.Project.Message.Send();
CompanyProject.Message.Send();
Project.Message.Send();

私はハンガリー語の上の後置を好みます(私が知っている主観的)。

于 2012-10-23T10:50:12.853 に答える