Benennung von Klassen, Methoden usw.

Diskussionen über Programmierstil (Code-Formatierung, Namenskonventionen, ...)

Benennung von Klassen, Methoden usw.

Beitragvon Josef Pötzl » Di 26. Mai 2015, 22:51

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.
Zuletzt geändert von Josef Pötzl am Mi 27. Mai 2015, 08:58, insgesamt 3-mal geändert.
Grund: Link in URL-Tag geschrieben, dann funktioniert es auch. :)
Josef Pötzl
Moderator
 
Beiträge: 713
Registriert: Mo 30. Nov 2009, 11:08
Wohnort: Klagenfurt
Accessversion: 2010 (2013)

Re: Benennung von Klassen, Methoden usw.

Beitragvon Andreas Vogt » Mi 27. Mai 2015, 08:50

Hallo,
Link nicht korrekt, Sonderzeichen müssen codiert werden:
https://msdn.microsoft.com/de-de/library/cc433248%28v=vs.71%29.aspx

Andreas
Andreas Vogt
Entwickler
 
Beiträge: 151
Registriert: Do 18. Mär 2010, 19:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: Benennung von Klassen, Methoden usw.

Beitragvon Andreas Vogt » Mi 27. Mai 2015, 09:09

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
Andreas Vogt
Entwickler
 
Beiträge: 151
Registriert: Do 18. Mär 2010, 19:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten

Re: Benennung von Klassen, Methoden usw.

Beitragvon Josef Pötzl » Fr 29. Mai 2015, 09:25

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
Josef Pötzl
Moderator
 
Beiträge: 713
Registriert: Mo 30. Nov 2009, 11:08
Wohnort: Klagenfurt
Accessversion: 2010 (2013)

Re: Benennung von Klassen, Methoden usw.

Beitragvon Andreas Vogt » Fr 29. Mai 2015, 23:24

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
Andreas Vogt
Entwickler
 
Beiträge: 151
Registriert: Do 18. Mär 2010, 19:00
Wohnort: Offenburg
Accessversion: 2.0, 97, 2002, 2003, 2007, 2010
Access-Erfahrung: Fortgeschritten


Zurück zu Programmierstil

cron