Seite 1 von 1

Variablennamenkonventionen

Verfasst: Freitag 11. November 2005, 10:21
von SeB
Es gibt doch so etwas wie Variablennamenkonventionen in Programmiersprachen wie C/C++ oder Delphi. Also wenn man an einem Softwareprojekt arbeitet nennt man eine Variable nicht nach Lust und Laune, sondern man nimmt ein Präfix vor den Eigentlichen Namen. Beispielsweise für ein Variable vom Typ Button:

Button btnMyButton = new Button();

Was zufällig jemand wie das ganze heißt und ob es eine solche Konvention auch in Python gibt bzw. wo diese beschrieben ist. Oder setzt das überhaupt jemand in der Praxis ein?

Verfasst: Freitag 11. November 2005, 10:26
von mitsuhiko
Das Zeug heißt glaube ich Ungarische Notation und ich kann sie nicht leiden :-)

Bei Python gibts das nicht und ich habs auch in der Praxis noch nicht gesehen.

Verfasst: Freitag 11. November 2005, 10:37
von mbierenfeld
Schau Dir mal den Punkt Ungarische Notation bei "How to write unmaintainable code" an


http://www.web-hits.org/txt/codingunmaintainable.html


Selbst Microsoft als ursprünglicher Verfechter ist bei C# davon abgekommen.

grüße

michael

Verfasst: Freitag 11. November 2005, 12:52
von Leonidas
Ja, sowas sieht man bei Visual Basic oft.. jedoch bin ich bei Python auch davon abgekommen. Es fehlt mir auch nicht, vor allen, da es in Python auch kein Problem ist, den Typ einer Variablen zu ändern, so habe ich in GTK-Code öfters sowas ähnliches:

Code: Alles auswählen

def callback(self, widget):
    widget.show(False)
Dabei ist nicht festgelegt, was widget ist. Es kann ein gtk.Button oder auch ein gtk.Label sein, oder auch ein int. Nur bei einem int gibt es halt die Exception, dass ints hein .show() haben :wink:

Verfasst: Freitag 11. November 2005, 15:28
von Joghurt
Ungarische Notation macht bei Python auch überhaupt keinen Sinn mehr, da Variablen keinen Typ haben.

Und irgendwie traue ich einem Programmierer zu, beim Namen MyButton darauf zu schließen, dass es sich um ein Button-Objekt handelt...

Verfasst: Freitag 11. November 2005, 19:21
von Leonidas
Joghurt hat geschrieben:Und irgendwie traue ich einem Programmierer zu, beim Namen MyButton darauf zu schließen, dass es sich um ein Button-Objekt handelt...
Ich nicht. Aber dafür gibt es ja type() 8)

Re: Variablennamenkonventionen

Verfasst: Freitag 11. November 2005, 23:01
von BlackJack
SeB hat geschrieben:Es gibt doch so etwas wie Variablennamenkonventionen in Programmiersprachen wie C/C++ oder Delphi. Also wenn man an einem Softwareprojekt arbeitet nennt man eine Variable nicht nach Lust und Laune, sondern man nimmt ein Präfix vor den Eigentlichen Namen. Beispielsweise für ein Variable vom Typ Button:

Button btnMyButton = new Button();

Was zufällig jemand wie das ganze heißt und ob es eine solche Konvention auch in Python gibt bzw. wo diese beschrieben ist. Oder setzt das überhaupt jemand in der Praxis ein?
Unter anderem mit Namenskonventionen beschäftigt sich der Style Guide for Python Code {PEP-8}.

Ungarische Notation findet sich da nicht mit dem Namen, es wird aber erklärt warum so ein Präfix in Python nicht benötigt wird.

Ich benutze für Klassennamen CamelCase, für Konstanten GROSSBUCHSTABEN und ansonsten kleinbuchstaben_mit_unterstrichen. Damit gehe ich wohl mit dem Style Guide konform.

Ausserdem haben meine Namen bis auf ganz wenige Ausnahmen mindestens drei Zeichen und sind hoffentlich aussagekräftig.

Verfasst: Samstag 12. November 2005, 06:02
von mitsuhiko
Beim mir gleich wie bei BlackJack nur noch folgende Regel:

Funktionen, die von Funktionen oder Regexes aufgerufen werden (Callback) bekommen von mir ein "do_" prefix, Funktionen, die eine Variable setzen mit "set_" und solche, die etwas ausgeben mit "get_".