Springe zum Inhalt

Griechische Symbole in Quellcode

Häufig lese ich in Foren Beiträge der folgenden Art, meistens von Physikern geschrieben: "Ich würde gerne griechische Symbole in meinem Quellcode verwenden."
Dann denke ich mir:

  1. Du Idiot.
  2. Du Idiot.
  3. Wo liegt das Problem? Wenn du ein Idiot sein willst, dann tu es doch einfach.

Viele moderne Sprachen unterstützen Unicode auch im Quellcode. Folgendes Code-Beispiel ist gültiger C#-Code:

C#-Code mit griechischen Symbolen

Ebenfalls sind asiatische Schriftzeichen erlaubt:
C#-Code mit Kanjis

Bedenke jedoch: Should I really do that?

6 Gedanken zu „Griechische Symbole in Quellcode

  1. Chikari

    Naja, jemanden gleich als Idioten zu bezeichnen nur weil er eine Frage stellt die man evtl auch durch Ausprobieren herausfinden könnte finde ich etwas hart..
    Ich hätte intuitiv auch nicht vermutet, dass das ohne Hack&Magie funktioniert :)

  2. Flip

    Ich bezeichne ihn als Idiot, weil es schlechter Programmierstil ist, Variablen mit nur einem Buchstaben zu benennen und nicht weil er griechische Symbole verwenden möchte!
    Der boolsche Variablenname, der aus Kanjis zusammengebaut ist, ist völlig okay wenn jemand Japanisch lesen kann, da es ein sinnvoller Name ist und den gängigen Benennungskonventionen entspricht: nämlich eine Variable danach zu benennen, was ihr Wert darstellt.
    "Lambda oder Psi" hingegen ist idiotisch, da damit keine Beschreibung gegeben ist. "Pi" ist eine Ausnahme, wenn es die Kreiszahl ist.

  3. Raoul

    Ist es wirklich schlechter Programmierstil, Variablen nur einen Buchstaben als Namen zu geben?

    Dachte immer sowas hier macht auch sonst jeder:

    for(int i; i < numOfClassificationRounds; i++)
    {(...)}

    Gerade bei Implementierungen von mathematischem Zeug übernehme ich eigentlich immer die ohne Kontext sinnfreien Bezeichnungen der Veröffentlichung:


    adaBoost()
    {
    errors = new float[numOfClassificationRounds];
    alphas = new float[numOfClassificationRounds];
    finalError = 0.0;
    }

    Bin ich dann ein Idiot? Und überhaupt, ist schlechter Programmierstil nicht einfach nur schlechter Programmierstil statt Anzeichen eines Idioten? ^^

  4. Genesis

    Ich vermute es ist eine falsch formulierte frage, weil der fragensteller nicht weiß was er will; ich hab den verdacht dass der fragensteller in erster line fragen will wie er unicode-zeichen produziert.

    zum thema einzelne buchstaben vs lange variablennamen: es macht keinen unterschied ob man eine variable "phi"(ausgeschrieben) oder phi (als einzelner Buichstabe) nennt. wenn ich eine formel habe ist häufig durch den kontext/die funktion der formel gegeben was die einzelnen griechischen buchstaben bedeuten, in dem fall ist der entsprechende griechische buchstabe ein prägnanter variablenname und erhöht die lesbarkeit gegenüber der ausgeschriebenen version.

  5. Flip

    Raoul, du hast dir die Frage im Prinzip selber beantwortet

    die ohne Kontext sinnfreien Bezeichnungen

    Wenn du willst, dass mindestens ein anderer Mensch deinen Code ließt, dann sollte er selbsterklärend sein, oder er sollte sehr gut dokumentiert sein.

    Genesis und Chikari sagen es auch:

    • es ist gleichwertig eine Variable p oder phi zu nennen
    • Variablen mit nur einem Buchstaben zu benennen ist ein gültiger Ansatz um Code gezielt unlesbar zu machen

    Benenne deine Variable doch einfach nach dem, was sie repräsentiert und gib ihr zusätzlich das in der Formel verwendete Symbol, zum Beispiel Geschwindigkeit_alpha. Oder Geschwindigkeit_alpha_SI um auch noch die Einheit anzugeben. Andere Leute werden dir dankbar sein!

    @Genesis: es war keine Frage, sondern ein Off-Topic-Kommentar in dem der Wunsch geäußert wurde, griechische Symbole zu verwenden.

    @Raoul: In Schleifen benenne ich die Zählervariable auch häufig schlichtweg mit "i". Als Faustregel gilt: wenn der Gültigkeitsbereich der Variable nicht mehr als eine halbe Bildschirmseite ausmacht, dann sind Ein-Buchstaben-Benennungen in Ordnung. Siehe auch hier oder hier (*ersten Google-Treffer zitier*).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.