2. Metáforas para entender o desenvolvimento
Metáforas são heurísticas: a de construção civil explica bem o software; a de escrever uma carta, mal.
Resumo
- Metáfora é heurística (orienta a busca), não algoritmo (receita exata). Use várias e combine.
- Escrever carta: sugere código escrito de uma vez e jogado fora se ruim. Fraca para projetos reais.
- Cultivar/plantar: passiva demais. Ostra (acreção): crescer aos poucos, incremental. Útil.
- Construção civil: planejar, projetar, construir; mudar no fim custa caro; casa simples ≠ arranha-céu.
- Caixa de ferramentas: técnicas são ferramentas; escolha a certa para cada problema, sem dogma.
Perguntas-chave
responda de cabeça, depois abraQual a diferença entre algoritmo e heurística?
Algoritmo é um conjunto bem definido de passos que leva ao resultado; heurística é uma técnica que ajuda a procurar a resposta, sem garantia.
Por que a metáfora da carta é fraca?
Sugere trabalho individual, espontâneo e descartável; software real é coletivo, planejado e caro de refazer.
O que a metáfora da construção civil ensina?
Que o planejamento cresce com o porte, que mudanças tardias custam caro e que se compra o que já existe pronto (bibliotecas).
Exercícios de fixação
0/5 respondidas1.
Por que McConnell chama as metáforas de heurísticas, e não de algoritmos?
2.
"Planeje jogar um fora; você vai jogar de qualquer jeito" combina com qual metáfora, criticada no livro?
3.
Qual metáfora melhor descreve desenvolvimento incremental, acrescentando um pouco ao sistema de cada vez?
4.
Na metáfora da construção civil, o que corresponde a usar bibliotecas e componentes prontos?
5.
Um desenvolvedor usa sempre a mesma técnica para qualquer problema. Qual metáfora o capítulo usa para corrigir isso?