30. Ferramentas de programação
Boas ferramentas cortam trabalho repetitivo, mas não existe bala de prata: programar continua difícil.
Resumo
- Código-fonte: IDE, busca em vários arquivos, diff/merge, formatadores, geradores de documentação, templates.
- Análise: verificadores de sintaxe/semântica (lint), métricas. Reestruturação: refatoradores, tradutores.
- Executável: compiladores, linkers, build (make), bibliotecas, geradores de código, pré-processadores.
- Depuração, teste (frameworks, cobertura) e ajuste (profilers). Controle de versão é obrigatório.
- Crie ferramentas próprias (scripts) para o repetitivo. "Terra da fantasia": ferramenta não elimina a programação.
Perguntas-chave
responda de cabeça, depois abraPor que criar ferramentas próprias?
Porque tarefas repetitivas do projeto (gerar dados, conferir arquivos, montar builds) são automatizadas com scripts simples e baratos.
O que é a 'terra da fantasia das ferramentas'?
A crença de que alguma ferramenta vai eliminar a necessidade de programar; o livro diz que isso não acontece (não há bala de prata).
Para que serve um profiler?
Para medir onde o programa gasta tempo e achar os pontos quentes antes de ajustar código.
Exercícios de fixação
0/5 respondidas1.
Um fornecedor promete que sua ferramenta visual elimina a necessidade de programadores. O livro diria:
2.
Que ferramenta usar para descobrir em qual rotina o programa gasta mais tempo?
3.
Toda semana a equipe gera à mão os mesmos dados de teste. O que o capítulo sugere?
4.
Qual ferramenta compara duas versões de um arquivo e mostra as diferenças?
5.
Um verificador como o lint, que aponta construções suspeitas antes de rodar, é uma ferramenta de: