Tick-the-Code in Aktion: Regel MAGIC
Dieses Video zeigt wie schnell das Ticken vom Code sein kann. Wie Sie sehen, ein trainierter Tick-the-Code Prüfer kann mehrere Regelverletzungen pro Minute finden und markieren (=ticken). Von den 24 Regeln ist diese die schnellste. Sie ist eine ausgezeichnete Regel um das Prüfen zu starten. Manchmal zeigt sie auf einen Code, der unnötig schwer zu pflegen ist.
Drei Sachen müssen passieren, wenn ein Kunde von einem Fehler in einem Softwareprodukt berichtet. Zuerst muss man die Ursache des Fehlers finden. Zweitens muss man die Ursache beheben. Drittens muss man das Produkt wieder testen. Meistens nimmt das Finden die meiste Zeit. Fehler sind oft leicht zu beheben, sobald die Ursache gefunden geworden ist. In Tick-the-Code ist die Suchphase schnellstmöglich optimiert.
Die Regel MAGIC benutzt man um fest programmierte Nummern, Zeichenkonstante und Zeichenketten zu finden. Wenn Quellcode die MAGIC Regel verletzt, die Pflege vom Code schwerer als nötig ist. Die Pflege wird schwierig, weil der Code alles das, was der beinhalten könnte und sollte, nicht beinhaltet.
Code mit guter Qualität benutzt beschreibende Namen für konstante Nummern und Zeichenkonstante. Für Lokalisierung ist es eine gute Idee alle Zeichenketten in einer Stelle halten, anstatt die überallhin im Code zu streuen.
Das Ticken von allen fest programmierten Nummern, Zeichenkonstanten und Zeichenketten produziert auch viele falsch positive Ergebnisse. Es gibt Situationen, wo eine nakte Nummer am kommunikativsten ist. Eine Anzahl ist best als eine Nummer ausgedrückt, und in einer 'for'-Schleife ist es völlig in Ordnung eine Zahl mit '0' zu initialisieren. Das ist alles kein Problem für Tick-the-Code.
Eine andere Gegenargument Sie haben können ist, daß es sicherlich viel schneller und zuverlässiger fest programmierte Nummern mit einem Program zu finden wäre. Das manuelle Ticken von denen hat aber auch Wert. Nehmen wir an, daß Sie nicht in der richtigen Stimmung für Codeinspektion sind. Sie sind eher in einer feindliche Stimmung. Sie versuchen und finden einfach nichts kompliziertes in dem Quellcode. Wie wäre es, wenn Sie zuerst irgendwas echt Einfaches suchten? Wenn Sie so einfache Sachen suchten, daß jeder, sogar ein Program die finden könnte? Sie würden Erfolg haben und jeden Tick Sie markierten würde Ihre Stimmung von Wut oder von Unmut in Richtung Interesse und Entspannung bewegen. Sobald Sie ruhig wären, könnten Sie mehr herausfordende Regeln prüfen.
Sie denken vielleicht, daß es sehr viele Befunde geben wird, wenn Sie jede einzelne Null und Eins ticken werden. Klar, aber es ist auch sehr wahrscheinlich daß aus dem 1000-zeiligen Code Sie rund um hundert fest programmierte Nummern finden würden. Das heißt schon, daß Sie den zu analysierenden Quellcode von 1000 ZEILEN runter auf 100 BEFUNDEN filtriert haben. Sie haben effektiv die Codemenge um mehr als 90% reduziert.
Wenn Sie immer noch nicht einverstanden sind, daß es nützlich sein kann fest programmierte Nummern zu suchen, warum gibt es noch Fehler in Ihrem Code? Warum ist es so schwer den Code zu pflegen? Wenn Sie nicht denken es sind die fest programmierte Nummern, bietet Tick-the-Code 23 Regeln noch zu probieren an.
Von Prinzipien von Gutem Codieren fällt die Regel MAGIC unter die Kategorie "Fehlende Info". Wenn man eine buchstäbliche Nummer mitten im lauffähigen Code benutzt, fehlt Information über deren Quelle - und noch wichtiger - fehlt Information über den Zusammenhang mit anderen buchstäblichen Nummern. Wenn Sie eine buchstäbliche Nummer umändern wollen, müssen Sie alle deren Instanzen (und nur die) und die von den anderen Nummern die irgendwie im Zusammenhang von dessen Wert sind auch anpassen. Die Aufgabe ist unnötig schwierig, wenn man fest programmierte Nummern benutzt.