Parte II · Criando código de alta qualidade
10 tópicos · 50 exercícios de fixação · 0/10 concluídos
- 5.1Projeto: desafios e gestão da complexidade
O imperativo técnico número 1 do software: gerenciar a complexidade.novo - 5.2Heurísticas de projeto
Abstração, encapsulamento, esconder segredos, isolar o que muda e manter o acoplamento baixo.novo - 5.3Práticas de projeto
Itere, divida para conquistar, faça protótipos e pare quando os detalhes forem óbvios.novo - 6.1Classes: tipos abstratos e boas interfaces
Uma classe é um tipo abstrato de dados: interface coerente, implementação escondida.novo - 6.2Classes: herança, contenção e motivos para criar
Prefira "tem um" (contenção); herde só quando "é um" for verdade e respeite Liskov.novo - 7.1Rotinas: por que criar e coesão
Rotinas reduzem complexidade; a melhor faz uma coisa só (coesão funcional).novo - 7.2Rotinas: nomes, tamanho e parâmetros
Nome que descreve tudo, verbo forte + objeto, até ~7 parâmetros, ordem entrada-modifica-saída.novo - 8.1Programação defensiva: asserções e erros
Proteja-se de entradas inválidas; asserções para o impossível, tratamento de erro para o esperado.novo - 8.2Exceções, barricadas e código de depuração
Exceção só para o excepcional; barricada na fronteira; falhe alto em desenvolvimento.novo - 9Processo de Programação com Pseudocódigo
Projete a rotina em pseudocódigo, vire comentários, preencha o código, revise, limpe.novo