Freitag, 12. September 2008

Code Complete

Goto labels should be leftaligned in all caps and should include the programmer's name, home phone number, and credit card number.

Code Complete ist nach Effective C++ das zweite Fachbuch, das ich von Anfang bis Ende durchgelesen habe. Im Gegensatz zu Effective C++ ist es nicht für eine spezifische Programmiersprache geschrieben, sondern versucht allgemeine Ratschläge zu vielen, mit dem Programmieren zusammenhängenden Themen zu geben. Design, Testen, Codestruktur um nur einige zu nennen (der Autor nimmt es sich sogar heraus, ein Kapitel zum persönlichen Charakter zu schreiben).

Besonders die Abschnitte zur Fehlersuche und zum Code Feintuning waren für mich dabei sehr nützlich: In beiden wird mit harten Daten die Effektivität möglicher Fehlersuchprozeduren (von Unittests, bis zu formalen Reviews) bzw. Tuning Techniken (dabei wird aber stets betont, den Code vorher mit einem Profiler zu untersuchen um wirklich die Flaschenhälse zu verbessern) untersucht. Das heißt man kann für viele Kombinationen an Techniken gleich sehen, wie hoch der Anteil der durch sie entdeckten Fehler bzw. der Geschwindigkeitszuwachs voraussichtlich sein wird (natürlich nur ungefähr, da die Untersuchungen dazu eine hohe Varianz hatten).

Dazu betont das Buch immer wieder, wie wichtig es ist, den eigenen Code lesbar und verständlich zu halten und welche Mittel (von Kommentaren über passende Variablenamen bis zu flachen Vereerbungshierarchien) dazu geeignet sind, das zu erreichen.

Während Effective C++ sich wirklich stark auf C++ konzentriert, ist Code Complete also fast universell für jeden Programmierer nützlich.

Keine Kommentare: