Código limpo: Limites
Click here to load reader
-
Upload
inael-rodrigues -
Category
Technology
-
view
150 -
download
3
Transcript of Código limpo: Limites
LIMITES
Luis Augusto S. Souza / Gabriel Vieira / Tiago Borges / Cézar Augusto Ferreira
por Jammes Grenning
Contexto
Raramente controlamos todos os códigos de nosso sistema:
- compramos pacotes de outros fabricantes;- usamos códigos livres;- ou dependemos de equipes de nossa própria empresa.
O uso de códigos de terceiros
Fornecedor de Interface X seu Usuário:- Fornecedor:
- visa uma maior aplicabilidade da interface para trabalho em diferentes ambientes;- visa atender a um público maior.
- Usuário:- deseja uma interface que atenda suas próprias necessidades.
O uso de códigos de terceiros
Exemplo:- java.util.Map
- os Maps tem uma interface bastante ampla com diversas capacidades.
- Vantagem:- flexibilidade.
- Desvantagem:- o aplicativo pode construir um Map e passá-lo adiante (clear()).
O uso de códigos de terceiros
- A interface no limite (Map) está oculta;- É possível alterá-lo causando pouco impacto no resto do aplicativo;- A classe pode forçar regras de modelo de negócios.
O uso de código que ainda não existe● Há um outro tipo de limite, um que separa o
conhecido do desconhecido.● Existe lugares no código onde nosso conhecimento
parece sumir.● Passos:
○ Definir as fronteiras do conhecido e do desconhecido;
○ Definir a interface limite;
○ Defina um fake para simular as funcionalidades e interações entre as interfaces;
○ Quando a parte desconhecida se tornar conhecida utilize o padrão Adapter para conectar serviços dependentes da interface limite com a API, outrora desconhecida, desenvolvida.
Limites Limpos
● Bons projetos de software acomodam modificações sem muito investimento ou trabalho.○ O uso de códigos fora de controle implica em
uma atenção especial ao investimento para garantir que mudanças futuras não sejam muito onerosas.
● O código nos limites precisa: ○ de uma divisão clara○ de testes que definem o que se deve esperar.
● É importante evitar que grande parte do código "enchergue" a particularidade de terceiros.
Limites Limpos
● Pense que é melhor você depender de algo que você controla do que algo que possa controlar você.
● Para lidar com os limites de código: ○ podemos empacota-los ○ podemos converter a interface perfeita na que
nos for fornecida.
● Vale lembrar que:○ nosso código se comunica melhor conosco○ possui poucos pontos para serem alterados
quando um código externo sofre alteração.