Lassen Sie mich in Bezug auf die Lesbarkeit nicht einverstanden sein. Nein, nicht ganz: Guter Code sollte lesbar sein, und das kann mit genügend Kommentaren problemlos erreicht werden.
Aber ich betrachte zwei Arten von WTF: die, bei denen man sich fragt, ob der Programmierer weiter gekommen ist als die Programmierung 101, und die, bei denen man die Genialität des Codes absolut nicht versteht. Einige Codes können auf den ersten Blick sehr seltsam aussehen, sind jedoch eine sehr erfinderische Lösung für ein schweres Problem. Die zweite sollte nicht im WTF-Meter gezählt werden und kann durch Kommentare vermieden werden.
Sehr lesbarer Code kann sehr, sehr langsam sein. Eine weniger lesbare Lösung kann die Geschwindigkeit um ein Vielfaches verbessern. R ist ein großartiges Beispiel für eine Sprache, in der dies häufig zutrifft. Dort vermeidet man gerne For-Loops. Im Allgemeinen würde ich den schnellsten Code als den besseren Code betrachten, obwohl er weniger lesbar ist. Das heißt, wenn die Verbesserung erheblich vom Kurs abweicht und genügend Kommentare eingefügt werden, um zu erklären, was der Code tut.
Darüber hinaus kann die Speicherverwaltung in vielen wissenschaftlichen Anwendungen von entscheidender Bedeutung sein. Code, der sehr gut lesbar ist, ist in der Hauptspeicherauslastung in der Regel schlampig: Es werden nur mehr Objekte erstellt. In einigen Fällen wird der Code durch eine intelligente Speichernutzung wieder weniger lesbar. Wenn Sie zum Beispiel mit Gigabyte DNA-Sequenzen jonglieren, ist das Gedächtnis ein entscheidender Faktor. Auch hier halte ich den weniger speicherintensiven Code für den besseren Code, unabhängig von der Lesbarkeit.
Also ja, Lesbarkeit ist wichtig für guten Code. Ich kenne das Adagium von Uwe Liggis: Denken tut weh und Computer sind billig. In meinem Bereich (statistische Genomik) werden Rechenzeiten von einer Woche und eine Speichernutzung von über 40 GB nicht als abnormal angesehen. Eine Verbesserung um die doppelte Geschwindigkeit und die Hälfte des Speichers ist also weit mehr wert als die zusätzliche Lesbarkeit.