10. Questões gerais sobre variáveis
Declare perto do uso, mantenha vivas pelo menor tempo e use cada variável para uma só coisa.
Resumo
- Desligue declaração implícita. Declare e inicialize perto do primeiro uso; use
const/finalquando der. - Escopo: o menor possível. Reduza o span (distância entre referências) e o tempo de vida (1ª à última).
- Tempo de ligação (binding): quanto mais tarde, mais flexível e mais complexo. Codificação < compilação < execução.
- Dados combinam com controle: sequência → instruções em ordem; seleção → if/case; iteração → laços.
- Uma variável, um propósito; sem significados escondidos (
-1= erro); remova as que não são usadas.
Perguntas-chave
responda de cabeça, depois abraO que é o tempo de vida (live time) de uma variável?
O número de linhas entre a primeira e a última referência a ela. Quanto menor, menor a janela de vulnerabilidade.
Por que inicializar perto do uso?
Para que quem lê veja o valor inicial sem procurar, e para evitar usar a variável com valor antigo ou não definido.
O que é acoplamento híbrido?
Quando uma variável tem dois papéis, como 'paginas' que vale -1 para indicar erro. Esconde significado e gera bugs.
Exercícios de fixação
0/5 respondidas1.
Uma variável é declarada no topo de uma rotina de 200 linhas e só usada nas linhas 180 a 190. O que o capítulo recomenda?
2.
int total é usado primeiro para somar pedidos e, mais abaixo, para contar clientes. Qual regra é violada?3.
Ler uma taxa de um arquivo de configuração na inicialização, em vez de escrevê-la no código, significa:
4.
Uma função retorna o número de páginas ou -1 em caso de erro. Isso é exemplo de:
5.
Dados lidos de um arquivo, registro após registro até o fim, combinam com qual estrutura de controle?