Principios KISS, DRY y YAGNI

KISS, DRY y YAGNI son tres principios que podemos aplicar en el diseño y el desarrollo de software, y que a pesar de tratarlos juntos en esta entrada, no guardan ninguna relación entre si más allá de la importancia y simplicidad de su mensaje.

Principios de diseño

Patrones de diseño de software

Si todavía no estás familiarizado con el concepto «patrones de diseño» tras leer este artículo conocerás su importancia y probablemente te des cuenta de que ya conoces algunos de ellos. Si ya sabes de que va, te invito a seguir leyendo para refrescar o incluso ampliar conocimientos.

Patrones de siseño de software

Tipos de cohesión

En la última entrega, hemos visto que son tanto la cohesión como el acoplamiento. Además hemos repasado los beneficios que nos aportan cada uno de ello y como afectan a la calidad del código que generamos. En este artículo seguimos profundizando en uno de estos conceptos, abordando los distintos tipos de cohesión existentes, e incluyendo ejemplos para tener una visión mucho más clara y práctica.

Cohesión

Cohesión y acoplamiento

Obviando la entrada Backup de base de datos MySQL con PHP, que podemos verla como un gris tirando a negro, hace ya más de dos meses que no escribo nada sobre programación. Así que para ponerle fin a esta pobre racha abordaremos dos conceptos de imprescindible conocimiento relativos a la programación orientada a objetos. Nos referimos a la cohesión y el acoplamiento.

Cohesión

Deuda tecnológica o deuda técnica

El concepto de deuda tecnológica, también conocida como deuda técnica, es muy similar al concepto tradicional de deuda económica. De la misma manera que cuando queremos acometer un proyecto para el que no tenemos fondos suficientes pedimos un crédito al banco y nos prestan un dinero que tendremos que devolver con intereses, en la deuda tecnológica también adquiriremos una deuda con nuestro código fuente que igualmente tendremos que saldar con intereses.

Deuda Tecnológica

Entornos en el desarrollo de software

En lo que a desarrollo de software se refiere, como en casi cualquier otra profesión, disponer de un entorno de trabajo adecuado puede marcar la diferencia entre obtener un gran resultado o que nuestro trabajo sea un completo desastre.

Al respecto de esto, uno de los aspectos al que más atención deberemos de prestar es al diseño de los distintos entornos que participan en el ciclo de vida del software y a los procedimientos que definen el flujo de trabajo entre ellos.

Diseño flujo

Nombres y comentarios en la programación

Formación, práctica y constancia son tres de los pilares básicos en los que se sustenta la evolución de cada desarrollador. En ocasiones debemos aprender conceptos complejos de asimilar o de aplicar como parte de este proceso. Sin embargo, en otras ocasiones, son sutiles detalles los que nos hacen mejorar.

La elección de los nombres de los distintos elementos que intervienen en la programación es una de esas tareas que si bien no es técnicamente compleja, puede suponer un antes y un después en cuanto a la calidad del código que generamos.

Comentarios y nombres de elementos

Mantenimiento de comentarios en la programación

Uno de los aspectos más delicados con respecto a los comentarios es la limpieza. Al contrario de lo que sucede con el propio código fuente, los comentarios no son procesados por el compilador, lo que quiere decir que éste no nos avisará si hay algo incorrecto o poco fiel con respecto a la realidad.

Comentarios en programación, mantenimiento

Comentarios a evitar al programar

En muchas ocasiones utilizamos los comentarios casi para cualquier cosa, y siendo honestos, es que se prestan a ello y además podemos sacarle mucho partido. El problema es cuando permitimos que los usos alternativos perduren en el tiempo, pues lo único que conseguimos con ello es ensuciar el código.

Comentarios a evitar en la programación

Introducción a los comentarios en programación

Son muchos los detalles a los que debemos prestar atención mientras desarrollamos, tantos que en ocasiones relegamos un segundo plano a algunos como pueden ser los comentarios, el estilo del código u otros.

Comentarios en Programación