DEV Community

Makefile: a base da automação de comandos

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.

Top comments (0)