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.
SeB
User
Beiträge: 25
Registriert: Mittwoch 24. August 2005, 14:29
Wohnort: Buchenau/Hessen
Kontaktdaten:

Variablennamenkonventionen

Beitragvon SeB » Freitag 11. November 2005, 10:21

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?
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Freitag 11. November 2005, 10:26

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

Beitragvon mbierenfeld » Freitag 11. November 2005, 10:37

Schau Dir mal den Punkt Ungarische Notation bei "How to write unmaintainable code" an

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

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

grüße

michael
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 11. November 2005, 12:52

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 Modvoice
Benutzeravatar
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Beitragvon Joghurt » Freitag 11. November 2005, 15:28

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...
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 11. November 2005, 19:21

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 Modvoice
BlackJack

Re: Variablennamenkonventionen

Beitragvon BlackJack » Freitag 11. November 2005, 23:01

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.
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Samstag 12. November 2005, 06:02

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder