Principios Fundamentales en el Desarrollo de Software

En nuestro articulo anterior Patrones de Diseño (Parte 1) dejamos algunos cabos sueltos sobre los patrones de diseño que trataremos de unir brevemente en este articulo, antes de pasar a nuestro foco principal.

Una pregunta que siempre me hago, cuando investigo sobre un tema o aprendo alguna funcionalidad sobre cualquier cosa, es si realmente me será útil o debería empezar a utilizarla. La misma interrogante es válida en los patrones de diseño, deberíamos usarlos?

Debemos saber que los catálogos de patrones de diseño están disponibles, para que, podamos entender diferentes conceptos y paradigmas dentro del desarrollo de software, en el diseño, arquitectura, seguridad, data, entre otros. Entender el catálogo y como podemos usarlos, es un buen recurso para diseñar ideas para cualquier desarrollador de software.

 


light-bulb  Advertencia

Después de aprender sobre patrones de diseño evite utilizarlos para todo y en todo tipo de código. Al menos que quiera enfermarse de la pattern diarrhoea. Si aprendes de patrones de diseño, es para facilitar tu vida como programador, y no complicarla.


Pasando a nuestro foco principal, existen una serie de principios que todo desarrollador debe conocer si quiere ser eficiente y productivo:

  1. KISS: Keep It Simple, stupid(Mantenlo simple)
  2. DRY: Don’t repeat yourself (No trabajes doble)
  3. YAGNI: You aren’t gonna need it(SI no lo necesitas no lo uses)
  4. Principios SOLID: Para programación orientada a Objeto.

El primero que notamos en la lista con un nombre un poco chocante, también conocido como ley de parsimonia.(Puede ser aplicado a distintas aréas)

El principio KISS establece que la mayoría de sistemas funcionan mejor si se mantienen simples que si se hacen complejos; por ello, la simplicidad debe ser mantenida como un objetivo clave del diseño, y cualquier complejidad innecesaria debe ser evitada.

En resumidas cuentas nos advierte del riesgo de escribir código de forma muy general, debemos escribir código de una manera directa, concentrando nuestras energías en una solución particular que resuelve el problema en cuestión.

Don’t repeat yourself (DRY), a menudo en trabajos colaborativos ocurre la redundancia y repetición de código, debido a la falta de comunicación y carencia de especificaciones de diseño. Esto puede causar ciertos problemas sútiles y otros no tanto, que luego dificultaran los cambios y mantener la consistencia. Si seguimos este principio en todas las etapas del desarrollo mantendremos la consistencia y evitaremos esfuerzos adicionales.

You aren’t gonna need it (YAGNI), este principio va de la mano con el principio KISS, y nos advierte sobre escribir código de la forma más general, para “anticipar cambios futuros” , la intención es buena, pero en la mayoría de los casos suele ser código inútil.

Principios SOLIDThe history of baseball in the US can be traced to the 19th century. The popularity of the sport inspired the semipro national baseball clubs in the 1860s. (1)


Conclusiones:

La implementación de estos principios de desarrollo y diseño de software puede pasar desapercibida, pero si los aplicamos correctamente nos evitaremos algunos dolores de cabeza y trabajo extra.


Qué sigue?

En el siguiente articulo hablaremos sobre inyección de dependencias como patrón de diseño e inversión de control.

Anuncios

Un comentario sobre “Principios Fundamentales en el Desarrollo de Software

Los comentarios están cerrados.