Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Code Complete

7.1. Rotinas: por que criar e coesão

Rotinas reduzem complexidade; a melhor faz uma coisa só (coesão funcional).

Escada de tipos de coesão, de funcional no topo a coincidental na base
Suba a escada: busque coesão funcional.

Resumo

Perguntas-chave

responda de cabeça, depois abra
Qual o motivo mais importante para criar uma rotina?
Reduzir complexidade: esconder detalhes para não precisar pensar neles ao ler o código que a chama.
O que é coesão temporal?
Rotina que agrupa operações executadas ao mesmo tempo, como inicializar() ou finalizar(). É aceitável se só chamar outras rotinas.
O que é coesão lógica?
Rotina que faz coisas diferentes conforme um flag de controle passado como parâmetro; costuma ser melhor dividi-la.

Exercícios de fixação

0/5 respondidas
1.
processar(tipo) faz um relatório se tipo == 1, envia e-mail se tipo == 2 e apaga registros se tipo == 3. Que coesão é essa?
2.
calcularSeno(angulo) faz só isso. Que coesão é essa?
3.
Vale criar uma rotina de uma linha ehPar(n) que retorna n % 2 == 0?
4.
inicializarSistema() abre o log, lê a configuração e zera contadores, chamando uma rotina para cada coisa. Que coesão é essa e ela é aceitável?
5.
Uma rotina é difícil de nomear porque faz várias coisas sem relação. Isso indica:
Seu progresso fica salvo neste navegador.