Posts

Definicion de arquitecura software

Lo normal es que tu expectativa de lo que vas a encontrar a continuación dependa de tu experiencia en el desarrollo de software. El concepto de arquitectura de software puede llegar a ser muy distinto dependiendo de la persona que lo use: Lo que comprende un desarrollador como arquitectura puede llegar a ser muy distinto de la idea de un probador o un técnico en devops. Esto hace que publicar una definición básica del concepto de arquitectura de software sea ciertamente arriesgado pero, basándome en lo que me gustaría haber encontrado cuando empecé a estudiarla, y amparado en que existe algún punto común, pues para todos implica la definición de una estructura, me atrevo a darte la que sigue:

No versiones archivos ajenos al proyecto

El título de esta entrada suena realmente lógico y no merece profundizar más en él, pero ¿Cómo puedes hacerlo? El problema es que en ocasiones, en la carpeta del proyecto, guardas archivos de configuración que si bien no son propios del proyecto, sí que son necesarios, y resulta cómodo tenerlos en dicha ubicación. Desde mi punto de vista, las configuraciones de los distintos IDEs son el caso más común de esto que te comento.

Modificando el mensaje de varios commits con un único comando

Sin duda, Git es una herramienta potentísima para el control de versiones, y conocer bien su funcionamiento nos facilita muchísimo el trabajo a la hora de escribir, probar y corregir código. Algunas de sus funcionalidades, las más avanzadas, son menos usadas y, por ello, tienden a conocerse menos. Algo que me obliga a ir a la documentación de Git de cuando en cuado es la necesidad de modificar el mensaje en varios commits. Recuerdo que la primera vez que lo necesité fue cuando, en un daily (reunión diaria típica de la metodología Scrum) un compañero nos pidió al resto que los mensajes de todos los commits comenzaran con el número de issue (es algo así como un número de ticket en Jira). En ese momento yo estaba terminando un feature con más de 10 commits, y pensé que hacerlo de uno en uno, usando reword en un rebase interactivo, sería muy tedioso. Ahora, si estoy programando algo y aún no tengo ese número de issue, uso un placeholder para recordar que tengo que poner el número de issue en el lugar que ocupa, y una vez que dispongo de dicho número, uso el siguiente comando de Git, filter-branch:

Navegando por la parrilla de los espacios de trabajo

Algo que recuerdo tedioso de mi época de probar distintas distribuciones de Linux es configurar los atajos de teclado. I3 es la primera opción a valorar para quienes tocan el ratón lo mínimo e imprescindible, pero Gnome ha avanzado bastante en este aspecto, y, como es el entorno de escritorio que uso actualmente, te voy a comentar como he configurado en él los espacios de trabajo.

En mi distribución de Linux, Manjaro, pulsando la tecla Super (habitualmente ilustrada con una ventana, y conocida como tecla Win en Windows) dispones de un buscador en el sistema operativo. Si comienzas a teclear el nombre de la aplicación Add/Remove Software, la verás sugerida y seleccionable en un instante. En esta aplicación dispones de la posibilidad de buscar paquetes de software haciendo click en el icono de la lupa. Ahí, únicamente teclea Workspaces grid y te aparecerán distintas opciones para construir una parrilla con tus escritorios. Yo personalmente estoy usando Gnome shell vsmatrix.