Seite 1 von 1

Benennung von Klassen, Methoden usw.

BeitragVerfasst: Di 26. Mai 2015, 21:51
von Josef Pötzl
Wer hat Vorschläge für "Richtinien der Benennung"?

Auf den MSDN-Seiten gibt es diese Vorschläge:
https://msdn.microsoft.com/de-de/library/cc433292(v=vs.71).aspx

Grundsätzlich: Der Name einer Klasse sollte deren Aufgabe beschreiben.
Manchmal helfen auch Bezeichnungen von Entwurfsmuster bei der Suche nach einem geeigneten Namen.

Re: Benennung von Klassen, Methoden usw.

BeitragVerfasst: Mi 27. Mai 2015, 07:50
von Andreas Vogt
Hallo,
Link nicht korrekt, Sonderzeichen müssen codiert werden:
https://msdn.microsoft.com/de-de/library/cc433248%28v=vs.71%29.aspx

Andreas

Re: Benennung von Klassen, Methoden usw.

BeitragVerfasst: Mi 27. Mai 2015, 08:09
von Andreas Vogt
Hallo,
gehe voll konform mit der MSDN - wobei ich mir jetzt nur die Benamsung von Klassen, Methoden und Enums angesehen habe.
Man muss sich halt nur dran halten...

Ich würde die Regeln sogar erweitern und sagen dass Bezeichner möglichst in englischer Sprache sein sollten. Dann hat man schon das Problem der Sonderzeichen erledigt, und Access-Objekte wären überall lesbar, denn englisch kann ja fast jeder. Das ist umso wichtiger bei Projekten wo die Teilnehmer teils im Ausland sitzen.

Wozu ich nichts gelesen habe ich die Benamsung von Variablen. Bisher ging die Richtlinie davon aus dass keine ungarische Notation verwendet werden sollte. Bei Variablen sehe ich das anderst.
Gerade bei Global deklarierten Variablen weiß man bei der Anwendung nicht sofort um welchen Typ es sich handelt. Schreibt man aber z.B. strSQL weiß man in der hintersten Prozedur noch dass es ein String ist.

Bei Parameter schreibt die Richtlinie: "Stellen Sie Parameternamen kein Präfix in der ungarischen Notation voran."
Schade dass die Richtlinie nichts über Variablen sagt.

Andreas

Re: Benennung von Klassen, Methoden usw.

BeitragVerfasst: Fr 29. Mai 2015, 08:25
von Josef Pötzl
Gerade bei Global deklarierten Variablen weiß man bei der Anwendung nicht sofort um welchen Typ es sich handelt.

Ich nehme an, du meinst Variablen im Modulkopf einer Klasse, die aber nicht global sondern innerhalb der Klasse mit Private deklariert sind.
Globale Variablen würde ich sowieso nur in Sonderfällen verwenden.

Schreibt man aber z.B. strSQL weiß man in der hintersten Prozedur noch dass es ein String ist.

Wenn man anhand des Namens erkennt, was der Inhalt ist, kann man meist auch den Typ erkennen.
Ich schreibe allerdings bei Member-Variablen gerne "m_" davor, damit ich im Code erkenne, dass ich eine Modul-Variable verwende, deren Inhalt irgendwo und irgendwann festgelegt wurde (oder auch nicht).
Muss man den Typ überhaupt am Namen erkennen? Müsste es aufgrund einer übersichtlich gehaltenen Prozedur nicht möglich sein, immer den Deklarationsteil zu sehen? ;)

Bei Prozedur-Variablen verwende ich auch regelmäßig ein Präfix - aber nicht, um den Typ zu sehen, sondern einfach aus Bequemlichkeit, damit ich damit nicht die Schreibweise von Eigenschaften o. ä. verwende, da im VBA-Editor leider ein Änderung der Groß-/Kleinschreibung auf das gesamte VB-Projekte wirkt.
Konsequenterweise müsste man dann Prozedur-Variablen auch groß schreiben. Das finde ich im Code aber unpraktisch, da man dann nicht erkennt, dass das nur eine in der Prozedur gültige Variable ist.

LG
Josef

Re: Benennung von Klassen, Methoden usw.

BeitragVerfasst: Fr 29. Mai 2015, 22:24
von Andreas Vogt
Hallo,
ich halte es mit Variablen (meistens) so:
- Globale String Variablen: Ungarische Notation
- Membervariablen: m_VarName
- Sonstige Variablen: Kamel-Schreibweise
- Schleifenzähler: 1 kleingeschriebener Buchstabe ab i aber ohne j, l und o, also i, k, m, n...

Andreas