Monoforms

¿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.

kiss2 0

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.


...
Monoforms ©2021 Created by Pedro Rojas Reyes