Ideas en bits

🐍 Coder y ñoño en general 💻 Dev en @typeform, antes @eventbrite ⚽️ Cuervo de los azulgrana 📜 Me gusta hacer deducciones 🤖 Robot a media Jornada

In Makefile we trust

No voy a escribir nada novedoso, pero el año pandemico me dejo otra enseñanza y buena practica para todos los proyectos de SW: Agregar siempre un Makefile

Que es un Makefile ?

Es un archivo que entiende Make y que segun la amiga wikipedia:

Los makefiles son los ficheros de texto que utiliza make para llevar la gestión de la compilación de programas. Se podrían entender como los guiones de la película que quiere hacer make, o la base de datos que informa sobre las dependencias entre las diferentes partes de un proyecto

Como y por que usarlo?

  • Me he acostumbrado a tener siempre un Makefile en mis proyectos y trato de seguir patrones en los nombres, de esa manera no importa en que lenguaje este el proyecto, si quiero correr los tests hago make test o si quiero levantar el servicio make start, etc.
  • Muchas veces encontramos comandos utiles que nos han salvado la vida, y en vez de buscarlos con el CMD+R de la terminal rogando que no se haya borrado, es una buena opcion agregarla al makefile tambien.

Ejemplos

En un proyecto rails, parte de mi makefile es:

start:
    @echo "Starting server"
    foreman start

test-db-prepare:
    bundle exec rake db:test:prepare

test:
    @echo "Runing Tests"
    ALLOW_FEATURE=true bundle exec rspec

O, para un proyecto en python con django tengo :

install:
    poetry install

start:
    python manage.py runserver 0.0.0.0:8000

test:
    pytest

collectstatic:
    python manage.py collectstatic

migrate:
    python manage.py migrate

migrations:
    python manage.py makemigrations

createsuperuser:
    python manage.py createsuperuser

reset_db:
    python manage.py reset_db

Resumen

Prueben de ir armando un makefile simple en sus proyectos, y teniendo un patron en los nombres de comando, yo creo que es una linda practica que ayuda muchol

En el siguiente link encontre ejemplos y tips muy buenos para seguir

https://makefiletutorial.com/

alt