2009-05-14 17 views
3

Welches ist vorzuziehen oder klarer?Namenskonvention für Eigenschaft

public int FrozenRegionWidth { get; set; } 

Oder ...

public int WidthOfFrozenRegion { get; set; } 
+0

Bitte fügen Sie Sprache Tag, einige Menschen sind nicht sicher, welche Sprache Sie sprechen. –

Antwort

12

ich FrozenRegionWidth würde sagen, sonst werden Sie mit einem ganzen Bündel von Eigenschaften mit Start am Ende 'WidthOf ..'.

Nachdem das gesagt wurde, sollten Sie etwas wie FrozenRegion.Width haben (ein anderer Grund, warum ich nach FrozenRegionWidth über WideOfFrozenRegion suchen würde)?

0

Ich bin mir nicht sicher, ob es eine Frage für diese Gemeinschaft ist. Ich glaube, es muss eine Frage für Ihr Team sein.

Wenn ich nur Entwickler in einem Team bin und einen Namen auswählen muss, würde ich eine FrozenRegion-Klasse mit Width-Eigenschaft erstellen.

+2

Ich denke, es ist eine Frage für diese Gemeinschaft. Ich denke nicht, dass das projektspezifisch ist. Die Frage könnte als WidthOfBlabla oder BlablaWidth geschrieben worden sein? –

0

FrozenRegionWidth wird überall verwendet. Sie können einfach nicht

NameOfCustomer 

statt

CustomerName 

verwenden Das macht unsere variable kurze n süß. Sie können nicht lange Sätze als Variablennamen schreiben. Und hier erstellen Sie eine Autoproperty. Erinnere dich daran. Es ist mehr wie eine Variable.

0

Aber betrachten Sie das folgende Szenario:

Sie versuchen, für die gefrorene Region Breite zu schauen, aber sie sagen, dass Sie nicht sicher sind, dass es gefriert Region genannt wird. Maybesome Leute nennen gefrorene Region, ein anderer nennt es RegionThatIsFrozen (ich weiß, lame Beispiel) oder was auch immer: in diesem Fall wäre es nicht einfacher für den Programmierer WidthOf zu tippen und wartet auf die Autovervollständigung, um einzugreifen und die richtige auszuwählen ?

+1

Wenn Sie über die Verwendung von Intellisense sprechen, ist es realistisch zu erwarten, dass alle folgenden Bedingungen zutreffen: - Entwickler, die Ihre Klasse verwenden, sind völlig unwissend. - Die Entwickler haben keine Dokumentation zu beziehen auf - The Klasse hat so viele Eigenschaften, dass es schwierig ist, herauszufinden, was ist, indem Sie einfach die Intellisense-Liste überfliegen - Keine der Eigenschaften haben XML-Kommentare zu beschreiben, was sie sind –

+0

Sie haben einen Punkt. –

0

Persönlich würde ich prefere

public int FrozenRegionWidth { get; set; } 
0

würde ich bevorzugen je nachdem, welche Form die allgemeinere Informationen zuerst im Namen kredenzt.

Das heißt, ich will es so, dass, wenn ich auf die Mitgliederliste in Intellisense schaue sie gruppiert sind, je nachdem, wie ich sie finden möchte. Wenn "FrozenRegion" für mich wichtig ist, dann möchte ich die zugehörigen Eigenschaften FrozenRegionWidth, FrozenRegionFoo, FrozenRegionBar nennen. Wenn ich "Breite" betrachte, möchte ich WidthFrozenRegion, WidthFoo, WidthBar.

Also hängt es von Ihrer Verwendung ab, aber Name von den meisten generischen zu am spezifischsten.

0

This question Ich fragte auf eine ähnliche Vene kann oder kann nicht helfen, es hat Indikatoren über Nomenwahl.

Um mit den .NET BCL Namenskonventionen in Verbindung zu bleiben, würde ich FrozenRegionWidth verwenden. Es ist ungewöhnlich, Präpositionen einzubeziehen.

Wie oben erwähnt, sieht FrozenWidth wie ein erster Kandidat für eine Struktur/Werttyp.