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 hagomake test
o si quiero levantar el serviciomake 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