Vinzenz Mai: Coderichtlinien bewerten

Beitrag lesen

Hallo Severin,

ich habe für die interne Verwendung in einem kleinem Team (4-6 Menschen) Coderichtlinien für XHTML, CSS und PHP verfasst.
http://imst3.uni-klu.ac.at/severin/imst_coderichtlinien.html

Du solltest mit dieser Anleitung _zwei_ Ziele umsetzen:

Mein Ziel war es möglichst einfache und praxisnahe Hilfestellungen für "sauberes" Webdesign zu geben.

Das ist das erste Ziel, dabei gefällt mir, dass Du den Schwerpunkt auf "möglichst einfach und praxisnah" setzt.

Diese Richtlinien werden vor allem von Leuten gelesen werden, die sich noch nie mit validem oder barrierefreiem Webdesign beschäftigt haben.

Und genau aus diesem Grund sollte sich _Dein_ Dokument an _Deine_ eigenen Coderichtlinien halten, um Deine Richtlinien vorbildlich zu demonstrieren. Bitte überprüfe deswegen Dein eigenes Dokument auf die Einhaltung Deiner Vorgaben. Schau' Dir z.B. die unlogische Verwendung von <br /> im Punkt 0.2 an. Ich weiß nicht, warum Du Deinen Namen und E-Mailadresse in eine eigene Zeile gesetzt hast. <br /> solltest Du hier einfach weglassen oder wenn Du eine eigene Zeile haben willst, durch angemessenere Auszeichnung ersetzen.

Deine Einleitung könnte positiver ausfallen. Fällt Dir wirklich nichts ein, warum Coderichtlinien sinnvoll sind. Grundsätzlich bin ich der Meinung, dass sauber strukturierter Code schöner aussieht, lesbarer und verständlicher ist als Kraut-und-Rüben-Code, der sich nicht an _ein_ Schema hält. Dies gilt auch dann, wenn es sich nicht um meine persönlichen Präferenzen handelt. Voraussetzung sind selbstredend ordentliche Richtlinien - und Deine sind durchaus ein guter Ansatz. Hass ist für mich jedenfalls überhaupt kein guter Grund, eine Coderichtlinie zu beachten, bewirkt eher das Gegenteil. Vielleicht ergibt sich in der Diskussion noch der eine oder andere positive Ansatz.

Absatz 1.1: Gleiches Schema, viel Negatives. Schreib' es um, schreib' es positiv. Deine neutralste Formulierung könnte statt dessen lauten:

"Tags sind klein zu schreiben, Attributwerte grundsätzlich in Anführungszeichen (welche eigentlich) einzuschließen. Ist es eine Einführung in XHTML? Nein. Willst Du auch nicht. Gib' dem Absatz eine neue, passendere Überschrift.

Im Gegensatz zu Ingo gefällt mir, dass Du Tabulatoren zum Einrücken vorschreibst - und keine Leerzeichen. Der verwendete Editor sollte das richtig darstellen. Mir sind nämlich zwei Leerzeichen zu wenig für eine Einrückungsebene, ich verwende vier Zeichen. Tabulatoren ermöglichen es jedem Teammitglied die Anzeige an die eigene Präferenz anzupassen. Dennoch gibt es ein Problem dabei, dass Du nicht aus den Augen verlieren solltest. Code wird gelegentlich auch ausgedruckt. Das Korrekturlesen von Ausdrucken ist einfacher als am Bildschirm. Coderichtlinien könnten darauf Rücksicht nehmen.

Wie Ingo halte ich es für sinnvoller, CSS-Eigenschaften nicht in alphabetischer Reihenfolge aufzuführen, sondern korrespondierende Eigenschaften zusammenzuhalten.

Bei PHP hast Du ja herzlich wenig geschrieben. Ich persönlich finde es sehr gut, wenn Operatoren (im Normalfall) durch ein Leerzeichen vom Operanden getrennt sind. Ich halte dies _insbesondere_ beim Punkt als Verkettungsoperator für sinnvoll. Nicht sinnvoll ist dies _meiner Meinung nach_ beim Inkrement- und Dekrementoperator.

Deine SQL-Richtlinien sind hingegen eine einzige Katastrophe. SQL-Statements durchzunummerieren ist genauso unsinnig wie die Verwendung von Variablen der Form a1, a2, a3, a4 bis a378 für alle Variablen einer Funktion oder einer Klasse. Was soll das? Gib' dem Kind einen sinnvollen Namen. Wenn mehr als ein Statement gebraucht wird, wenn mehr als eine Datenbankverbindung benötigt wird, benenne sie so, dass Du aus dem Namen erkennst, um welche es sich handelt. Nein, ich bin _nicht_ der Meinung dass

$con
    $sql
    $query
    $result

grundsätzlich gute Namen sind. Diese sollten sich an Deine anderen Vorgaben handeln. Du könntest hier eventuell mit Präfixen arbeiten.

Die Formatierung Deiner SQL-Statements ist ebenfalls verbesserungswürdig. Bitte schau' Dir im Archiv einige meiner Beiträge zum Thema Datenbanken an. Dann wirst Du sehen, was _ich_ für eine einigermassen angemessene Form halte (soweit mir die Eingabe hier in der Textarea nicht zu aufwendig ist). Es fehlen strukturierende Leerzeichen, strukturierende Zeilenumbrüche und damit strukturierende Einrückungen.

Dein Statement selbst im Beispiel wird übrigens wegen Syntaxfehler scheitern. Lass Dir das Ergebnis mit

echo $sql;

anzeigen. Du wirst sehen, dass meine Empfehlungen Deine Fehler verhindern.

Sieh' bitte mein Posting als konstruktive Kritik. Du hast einen guten ersten Ansatz, auf dem Du aufbauen kannst.

Freundliche Grüße

Vinzenz

0 57

Coderichtlinien bewerten

Severin Kacianka
  • meinung
  1. 0
    Olaf Schneider
    1. 0
      Severin Kacianka
      1. 1
        Olaf Schneider
      2. 0
        Ingo Turski
        1. 0
          Severin Kacianka
          1. 0
            Ingo Turski
  2. 0
    Ingo Turski
    1. 2
      seth
    2. 0
      Severin Kacianka
      1. 0
        seth
      2. 0
        Ingo Turski
    3. 0
      Kalle_B
  3. 0
    Markus
    1. 0
      Severin Kacianka
      1. 0
        Ashura
        1. 0
          Markus
          1. 0
            Ashura
        2. 0
          Thorsten L.
          1. 0
            Ashura
            1. 0
              MudGuard
            2. 0
              Thorsten
              1. 0
                Vinzenz Mai
              2. 0
                Ashura
                1. 0
                  Richard Rüfenacht
                  1. 0
                    Ashura
                    1. 0
                      Richard Rüfenacht
                      1. 0
                        Ashura
                  2. 0
                    Severin Kacianka
                    1. 0
                      Richard Rüfenacht
          2. 0
            Christoph G.
  4. 0
    Kalle_B
    1. 0
      Severin Kacianka
  5. 0
    Vinzenz Mai
    1. 0
      seth
      1. 0
        Vinzenz Mai
        1. 0
          seth
          1. 0
            Vinzenz Mai
    2. 0
      Severin Kacianka
      1. 0
        Vinzenz Mai
        1. 0
          Severin Kacianka
    3. -1
      Jens Müller
      1. 0
        seth
        1. 0
          molily
  6. 0
    seth
    1. 0
      Severin Kacianka
      1. 0
        seth
        1. 0
          Severin Kacianka
          1. 0
            Ashura
            1. 0
              Severin Kacianka
              1. 0
                Ashura
  7. 0
    Jonathan
    1. 0
      Severin Kacianka
      1. 0
        Tobias
        1. 0
          Severin Kacianka
      2. 0
        Ashura
        1. 0
          Severin Kacianka