2

このクラスを作成したとします。

 public class ColoredPolygon
 {
     public Point[] Vertices { get; set; }
     public Brush Brush { get; set; }
 }

Visual Studio 内では、どの "Brush" がクラスで、どの "Brush" がプロパティであるかを簡単に確認できます。しかし、クラスにちなんでプロパティに名前を付けるのはベスト プラクティスではないことがわかります。この物件の名前は?

更新命名に関するもう 1 つの質問: どのように配列に名前を付けますか? 複数形か単数形か?

4

5 に答える 5

20

私はそれを呼びますBrushクラスライブラリを開発するための設計ガイドラインは、実際には次のように述べています。

プロパティにそのタイプと同じ名前を付けることを検討してください

( Type メンバーの命名に関するセクション)。ステートメントに続くテキストは、Enum 型のプロパティに対してこれを行うことを示唆していますが、クラスのBrushおよびColorプロパティなど、.NET フレームワークの他の型のオブジェクトに対するこのアプローチの例はたくさんあります。Pen

心配する必要はありませんBrush。プロパティのわかりやすい名前である場合は、その名前を使用する必要があります。フレームワーク内で確認できる命名パターンに従うこともできるためです。

于 2009-06-07T22:42:43.097 に答える
5

FillBrush はわかりやすい名前ですが (私は賛成しました)、正直なところ、実際に問題が発生するまでは心配する必要はありません。あなたの場合、それは最高の名前ではないかもしれませんが、それが最高の名前である場合文脈が別の方法で指示するまでそれを保持します. クラスとプロパティの名前が同じである例がいくつかありますが、通常、プロパティは変数名 (またはthis.) によって修飾されるため、あまり気にしません。

以下はかなり読みやすいと思います。

var poly = new ColoredPolygon();
poly.Brush = Brushes.Green;
于 2009-06-07T22:13:46.197 に答える
4

どうFillBrushですか?

于 2009-06-07T22:07:26.833 に答える
0

Fredrikの提案(Brush Brush)およびMSの名前の提案に関しては、プロパティにそのタイプと同じ名前を付けることを検討できますが、常にそうできるとは限りません。たとえばSomething、クラスで定義されたというパブリック列挙型がある場合、そのクラスは。というプロパティを持つこともできませんSomething

と呼ばれるプロパティを持つことができます。Brushこれはおそらく、Brushが別の名前空間/クラスで定義されており、コンパイラがBrush意味を理解するのに十分賢いためです。

于 2009-06-12T10:56:21.407 に答える
0

と同様にFillBrush、別の回答で言及されているように、塗りつぶしだけを設定する方法を追加することを検討してくださいColor。これにより、ユーザーは単色の塗りつぶしを設定するためだけにブラシを作成する必要がなくなります。

于 2009-06-07T22:12:18.600 に答える