dicas para deixar seu código mais robusto

Post on 01-Jul-2015

820 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dicas para deixar seu código mais robusto

David Robertdavidrobert@gmail.com

Como se proteger?

  

Mas o que isso significa em software?

Nem sempre as premissas que assumimos como válidas,

sempre serão válidas

Objeto não é null

Objeto é do tipo que eu espero

Sistema externo está no ar

Resposta é bem formatada

Input do usuário é conforme o esperado

Robustez X Precisão

Graceful Degradation(Degradação Graciosa)

       

A redução de qualidade deve ser proporcional à gravidade da falha

"Seja conservador no que você faz, seja liberal no que você aceita dos outros"

Jonh Postel

"A função de um bom software é fazer com que o complexo pareça ser simples"

Grady Booch

ALERTA

Combatento Complexidade

Qual nosso arsenal pra isso?

Alta CoesãoBaixo Acoplamento

public class Financeiro { // ...

1 public void executarPagamentos() {2 for (Cliente cliente: clientes) {3 // ...

4 cliente.getCarteira().subtrai(valor);5 // ...8 }9 }

}

public class Financeiro { // ...

1 public void executarPagamentos() {2 for (Cliente cliente: clientes) {3 // ...

4 cliente.getCarteira().subtrai(valor);5 // ...8 }9 }

}

Lei de Demeter

É um conjunto de regras para construir sistemas visando baixo acoplamento

Princípio do Mínimo Conhecimento 

Não fale com estrageiros

ou seja

Fale somente com amigos

(membros ou parametros)

produto.getCliente().getEndereco().getCEP()

porque um acidente de trem vai estragar o seu dia

produto.getCliente().getEndereco().getCEP()

É possível aplicar o princípio em todos os projetos?

“A Lei de Demeter na verdade deveria ser chamada de Sugestão de Demeter”

Martin Fowler

o mais importanteem um projeto é

escrever código bonito

o mais importanteem um projeto é

escrever código bom

Obrigado!

while42

top related