Unterstrich in Objekten

14/04/2010 - 10:37 von Daniel Seichter | Report spam
Hallo,

meine Frage ist eigentlich ganz einfach, allerdings habe ich kein
Dokument oder Seite gefunden, die mir das klar stellt:

Zur besseren Lesbarkeit des Quellcodes, definierte ich Objekte z.B.
wie folgt:

btn_Beenden // Button
lbl_Hinweis // Label

Nun habe ich in StyleCop allerdings das "Problem", dass er mir den
Unterstrich als Warning ausgibt
"SA1310: Field names must not contain underscores."

Somit habe ich mich nun auf die Suche gemacht, warum dies als Warning
ausgegeben wird. Ich habe einige Dokumente gefunden, in denen das
"verboten" wird, in anderen dies jedoch durchaus als Möglichkeit der
besseren Lesbarkeit des Quelltextes eingesetzt wird.

Meist bezog sich dieses "Verbot" allerdings nur auf Benennungen, bei
denen der Unterstrich am Anfang stand, wie z.B. _btnBeenden.
Wiederum am zweithàufigsten fand ich Argumente in Bezug darauf, wenn
ich zwei Sprachen für ein Projekt mischen würde, wie VB und VC#, dass
ein Unterstrich zu Fehlern führen könnte.
Und dann gab es noch Informationen, dass dies durchaus praktikabel ist,
mit einem Unterstrich zu trennen, sofern dieser nicht am Anfang steht.

Aus den gefunden Informationen würde ich schließen, dass es durchaus
möglich ist, den Unterstrich zu benutzen, sofern dieser nicht am Anfang
steht.
Ich habe keine Probleme, den Unterstrich wegzulassen, allerdings würde
es mich sehr interessieren, was da nun wirklich dran ist und wie da die
gàngige Praxis aussieht, damit ich für den Einsatz innerhalb eines
Projektes mir nicht wegen diesem kleinen Zeichen eine spàtere
Fallstricke bauen würde.

Welche Konventionen verwendet ihr?

Danke vielmals für Eure Antworten.

Daniel
 

Lesen sie die antworten

#1 Stefan Offermann
14/04/2010 - 11:04 | Warnen spam
Welche Konventionen verwendet ihr?



Felder fangen bei uns mit einem Unterstrich an:

private string _name;

Gab bisher in reinen C#-Projekten keine Probleme.

Bei GUI-Elementen entfernen wir die Zahl am Ende und nehmen einen
fachlichen Text:

buttonStart
textboxUsername
checkboxFoo

Abkürzungen aus VB6-Zeiten wie "btnStart" oder "frmFooDialog"
verwenden wir nicht mehr. Durch größere Bildschirme und Namespaces ist
heutzutage niemand mehr auf diese Prefixe angewiesen.

Gruß, Stefan

Ähnliche fragen