am 29. April 2010
Vor kurzem hatten wir ein paar Berater im Hause. Als eine Herangehensweise haben sie auf die Verwendung eines speziellen Codesniffer-Standards gesetzt, der durch seine Regeln wichtige Kriterien verifiziert. Es gibt also Regeln, die in jedem Projekt Sinn machen. Ok, das war noch einfach. Wie wäre es, wenn wir gemeinsam einen CodeSniffer-Standart zusammenstellen, der in jedem Projekt unsaubere Stellen aufspürt. Wir suchen uns also alle wichtigen Sniffs raus, die nichts mit Formatierung und so Schlonz zu tun haben und bauen den Projekt-Standard.
Ich fange mal mit einer Brainstormingliste mit Sniffs an, die drinnen sein sollten und ihr macht dann in den Kommentaren weiter oder beschimpft mich einfach wild, weil die Idee doof ist:
- Komplexität der Methoden: Ab einer bestimmen Komplexität sollte das Tool anschlagen. Das könnte man über nPath- oder Zyklomatische-Komplixität machen.
- Definiert aber nie verwendete Variablen. Jede Variablen, die man mit einem Wert füllt und sie dann doch nicht verwendet verschmutzt den Source-Code, also raus damit.
- Verwendet, aber nie definiert. Verschmutzt nicht nur den Code, sondern ist auch meisten fehlerträchtig, bzw. ist meisten ein Fehler.
- Funktionslänge. Klassiker.
- Leere Try…catch bzw if…else Blöcke. Muss ja nicht sein.
- privateNeverUsed. Gibt es noch nich, sollte aber einfach umzusetzen sein.
So das war jetzt das Grundsetup. Ich bin mir sicher, dass ihr noch eine ganze Menge an Sniffs findet. Wenn es die noch nicht umgesetzt gibt, nicht schlimm, dann programmieren wir die einfach. Kann ja nicht so schwer sein.