Tipos de mantenimiento de software

El mantenimiento es la última fase del ciclo de vida del software, y por norma general también suele ser la más larga y en muchas ocasiones la más aburrida, pero también es una parte fundamental e inevitable de esta industria.

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

Triggers en MySQL

Los grandes motores de búsqueda como MySQL, PostgreSQL, SQL Server u Oracle, disponen de una cantidad de funcionalidades realmente extensa. Una de esas funcionalidades son los desencadenadores o triggers, en esta entrada hablaremos sobre ellos.

Triggers en Mysql

Mi experiencia con los triggers proviene principalmente de SQL Server, plataforma en la que he hecho un uso bastante extenso de ellos, y me atrevería a asegurar que para algunos programadores, en según que condiciones, los triggers pueden abrir un mundo nuevo de posibilidades, facilitando enormemente la realización de algunas tareas que de no ser por éstos tendrían una resolución bastante más aparatosa.

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

Backup de base de datos MySQL con PHP

Existen múltiples opciones para exportar o realizar copias de seguridad de bases de datos en MySQL: phpMyAdmin, MySQL Workbench, utilizando la línea de comandos, etc. Si nos referimos a una página web, podremos hacer uso de unas u otras en función de las posibilidades que nos ofrezca nuestro proveedor de hosting.

Otra de esas posibilidades de las que hablamos es realizar el respaldo con PHP, lo que nos permitirá hacerlo con casi todos los hostings, además de que es fácilmente automatizable. La principal desventaja, por contra, es que es una opción algo más laboriosa, pues tendremos que programar el script. Pero como la rueda casi siempre está inventada, en internet tienes muchas soluciones que te facilitarán la labor.

Backup base de datos Mysql

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