Permítanme amablemente estar en desacuerdo sobre la lectura. No, no completamente: un buen código debe ser legible, y eso se puede lograr fácilmente con suficientes comentarios.
Pero considero dos tipos de WTF: aquellos en los que te preguntas si el programador fue más allá de programar 101, y aquellos en los que no entiendes absolutamente la genialidad del código. Algunos códigos pueden parecer muy extraños al principio, pero en realidad es una solución muy ingeniosa para un problema difícil. El segundo no debe contar en el medidor WTF, y puede evitarse mediante comentarios.
El código muy legible puede ser muy, muy lento. Una solución menos legible puede proporcionar una mejora múltiple en la velocidad. R es un gran ejemplo de un lenguaje donde eso a menudo es cierto. A uno le gusta evitar for-loops allí tanto como sea posible. En general, consideraría que el código más rápido es el mejor código aunque sea menos legible. Es decir, si la mejora es sustancial por supuesto, y se insertan suficientes comentarios para explicar lo que hace el código.
Aún más, la gestión de la memoria puede ser crucial en muchas aplicaciones científicas. El código que es muy fácil de leer, tiende a ser un poco descuidado en el uso de la memoria: simplemente se crean más objetos. En algunos casos, el uso inteligente de la memoria hace que el código vuelva a ser menos legible. Pero si hace malabares con gigabytes de secuencias de ADN, por ejemplo, la memoria es un factor crucial. Una vez más, considero que el código que requiere menos memoria es el mejor código, independientemente de la legibilidad.
Entonces sí, la legibilidad es importante para un buen código. Conozco el adagio de Uwe Liggis: pensar que duele y las computadoras son baratas. Pero en mi campo (genómica estadística), los tiempos computacionales de una semana y el uso de memoria de más de 40 Gb no se consideran anormales. Por lo tanto, una mejora del doble de la velocidad y la mitad de la memoria vale mucho más que ese bit adicional de legibilidad.