帮我命名这个属性(C#)

Jad*_*ias 2 c# naming naming-conventions

想象一下,我创建了这个类:

 public class ColoredPolygon
 {
     public Point[] Vertices { get; set; }
     public Brush Brush { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

在Visual Studio中,不难看出哪个"Brush"是类,哪个是属性.但有些事情告诉我,在课堂上命名一个属性并不是最好的做法.你怎么称这个属性?

更新关于命名的另一个问题:你如何命名数组?复数还是单数?

Fre*_*örk 20

我会打电话给它Brush.开发类库设计指南实际上说:

考虑给一个属性与其类型相同的属性

(在关于命名Type成员部分中).下面的语句中的文本显示为是枚举类型的属性做到这一点,但你可以找到大量的这种做法对于其他类型的.NET Framework对象的实例,比如BrushColor的性质Pen类.

没有什么可担心的,如果Brush是您的属性的描述性名称,您应该使用该名称,特别是因为它甚至会遵循您在框架中可以看到的命名模式.


tva*_*son 5

FillBrush是一个很好的描述性名称(我已经投了赞成票)但老实说,不要担心它直到它真正成为一个真正的问题.在你的情况下,它可能不是最好的名字,但如果它最好的名字,我会保留它直到上下文另有规定.我有几个例子,其中类的名称和属性是相同的,但由于属性通常由变量名(或this.)限定,我不太担心它.

我发现以下内容非常易读:

var poly = new ColoredPolygon();
poly.Brush = Brushes.Green;
Run Code Online (Sandbox Code Playgroud)