¿Qué es el código limpio?

Un programador que cree código limpio es un artista que puede transformar un lienzo en blanco en un sistema de código elegante.



En el libro titulado Código limpio, los especialistas dicen sobre el código limpio:

Bjar Stroustrup, inventor de C++ y autor de The C++ Programming Language:
Me gusta que mi código sea elegante y eficaz. La lógica debe ser directa para evitar errores ocultos, las dependencias deben de ser mínimas para facilitar el mantenimiento, el procesamiento de errores completo y sujeto a una estrategia articulada, y el rendimiento debe ser optimo para que los usuarios no tiendan a estropear el código con optimizaciones sin sentido.El código limpio hace bien una cosa.

Grady Booch, autor de Object Oriented Analysis and Desing with Applications:
El código limpio es simple y directo. El código limpio se lee como un texto bien escrito. El código limpio no oculta la intención del diseñador sino que muestra nítidas abstracciones y lineas directas de control.

Ron Jeffries, autor de Extreme Programming Installed y Extreme Programming Adventures in C#
En orden de de prioridad, el código simple:

  • Ejecuta todas las pruebas.
  • No contiene duplicados.
  • Expresa todos los conceptos de diseño del sistema.
  • Minimiza el número de entidades como clases, métodos, funciones y similares.

De todos ellos, me quedo con la duplicación. Cuando algo se repite una y otra vez, es una señal de que tenemos una idea y que no acabamos de representarla correctamente en el código. Intento determinar cual es y,después, expresar esa idea con mayor claridad. Para mi, la expresividad debe incluir nombres con sentido y estoy dispuesto a cambiar los nombres de las cosas varias veces.
La expresividad va más allá de los nombres: También me fijo si un objeto o método hace más de una cosa. Si se trata de un objeto, probablemente tenga que dividirse en dos o más. Sí se trata de un método, siempre recurro a la refactorización de extracción de métodos para generar un método que exprese con mayor claridad su cometido y varias métodos secundarios que expliquen como lo hace.
Reducir los duplicados, maximizar la expresividad y diseñar sencillas abstracciones en las fases iniciales. Para mí, es lo que hace que el código sea limpio.


Entonces a manera de resumen el código limpio es o se caracteriza por:
El código limpio es elegante y eficaz.
El codigo limpio es simple y directo.
El codigo limpio hace bien una cosa.
El código limpio no contiene duplicados.
El código limpio minimiza el número de entidades como clases, métodos, funciones y similares.
El código limpio maximizar la expresividad.
El código limpio se lee bien.
El código limpio tiene un mínimo de dependencias.


En el libro menciona otras más pero es hora de ir a dormir.
Si tienes algún comentario a favor o en contra no dudes en hacérmelo saber.

Saludos.

Añadir nuevo comentario