Independentemente da linguagem, temos sempre a necessidade de utilizar comandos que auxiliam no desenvolvimento de software. Comandos de base de dados, comandos para executar a aplicação, para build e até para executar migrações ou ferramentas em segundo plano.
Mas, com o crescimento do software, os comandos aumentam e torna-se complicado memorizar todos. Quase sempre esquecemo-nos ou temos de pesquisar novamente.
Qual é a solução?
Makefile. É uma ferramenta simples, leve e de grande importância. É uma das maravilhas que foi criada e lançada há mais de 40 anos.
Conceito
O que é um Makefile?
É um ficheiro onde definimos atalhos para comandos. Em vez de escrevermos comandos longos, criamos um alvo (target) simples como 'make run' que os executa por nós.
Com o Makefile, é possível organizar e encadear os comandos pela ordem desejada.
Makefile produtivo / relevante
Normalmente, um Makefile produtivo e bem estruturado organiza-se por:
- Execução da aplicação: run, build
- Qualidade de código: test, lint, format, vuln-check
- Comandos de Base de Dados: seed, connect, dump, restore, migrate, super-migration
- Comandos de Docker: up, down, build, logs
- Ajuda / Documentação: lista de comandos disponíveis (help)
Vantagens
- Velocidade: Execução rápida de comandos do dia a dia sem digitação repetitiva.
- Mapeamento correcto dos comandos: Padroniza as rotinas essenciais do projeto.
- Agilidade: Facilita o onboarding e o ritmo de desenvolvimento.
- Organização: Clareza visual dos fluxos de trabalho do repositório.
- Reutilização: Permite partilhar facilmente os mesmos padrões entre outros projectos.
Conclusão
Usar Makefile torna-nos melhores programadores. Isso é indiscutível. Independentemente da linguagem, adoptar esta prática traz apenas benefícios.



