7.2. Rotinas: nomes, tamanho e parâmetros
Nome que descreve tudo, verbo forte + objeto, até ~7 parâmetros, ordem entrada-modifica-saída.
Resumo
- Nome descreve tudo que a rotina faz. Evite verbos vagos (
processar,tratar) e números (rotina1). - Procedimento: verbo forte + objeto (
imprimirRelatorio). Função: descreve o retorno (corAtual()). - Use opostos com precisão (abrir/fechar, primeiro/último). Tamanho: até ~200 linhas sem prejuízo; menor é melhor.
- Parâmetros: entrada → modificação → saída; use todos; não use como variável de trabalho; no máximo ~7.
- Passe o que mantém a abstração da interface. Prefira funções inline a macros; macros: parênteses em tudo.
Perguntas-chave
responda de cabeça, depois abraComo nomear uma função?
Descrevendo o valor que ela retorna, como printer.isReady() ou corAtual().
Por que limitar parâmetros a cerca de 7?
Pessoas lidam bem com uns 7 itens de uma vez; mais que isso indica acoplamento alto ou que falta um objeto.
Passar o objeto inteiro ou só os campos?
Depende da abstração: passe o que a rotina conceitualmente espera; se ela trabalha com o objeto, passe o objeto.
Exercícios de fixação
0/5 respondidas1.
Qual é o melhor nome para uma rotina que calcula e grava o total de um pedido?
2.
Uma rotina recebe 12 parâmetros. O que isso sugere?
3.
Qual ordem de parâmetros o livro recomenda?
4.
Dentro da rotina, o parâmetro de entrada
valor é reutilizado para guardar um resultado intermediário. O livro diz:5.
Qual é o melhor nome para uma função booleana que diz se a impressora está pronta?