Variablennamenkonventionen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SeB
User
Beiträge: 25
Registriert: Mittwoch 24. August 2005, 14:29
Wohnort: Buchenau/Hessen
Kontaktdaten:

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?
[url=http://therealzordak.de/index.php]therealzordak.de[/url] - [url=http://therealzordak.de/index.php?section=movies]Movies[/url] - [url=http://therealzordak.de/index.php?section=derwahn]Fun[/url]
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

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.
TUFKAB – the user formerly known as blackbird
mbierenfeld
User
Beiträge: 39
Registriert: Donnerstag 9. Dezember 2004, 22:02
Wohnort: Muenchen

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

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...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
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.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

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_".
TUFKAB – the user formerly known as blackbird
Antworten