Dicas para deixar seu código mais Robusto

1.125 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.125
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Dicas para deixar seu código mais Robusto

  1. 1. Dicas para deixar seucódigo mais robusto David Robert davidrobert@gmail.com
  2. 2.  Como se proteger?
  3. 3. Mas o que issosignifica em software?
  4. 4. Nem sempre as premissas que assumimos como válidas, sempre serão válidas
  5. 5. Objeto não é nullObjeto é do tipo que eu espero Sistema externo está no ar Resposta é bem formatadaInput do usuário é conforme o esperado
  6. 6. Robustez X Precisão
  7. 7. Graceful Degradation (Degradação Graciosa)         A redução de qualidade deve ser proporcional à  gravidade da falha
  8. 8. "Seja conservador no que você faz, sejaliberal no que você aceita dos outros" Jonh Postel
  9. 9. "A função de um bom software é fazercom que o complexo pareça sersimples" Grady Booch
  10. 10. ALERTACombatentoComplexidade
  11. 11. Qual nosso arsenal pra isso? Alta CoesãoBaixo Acoplamento
  12. 12. public class Financeiro { // ...1 public void executarPagamentos() {2 for (Cliente cliente: clientes) {3 // ...4 cliente.getCarteira().subtrai(valor);5 // ...8 }9 }}
  13. 13. public class Financeiro { // ...1 public void executarPagamentos() {2 for (Cliente cliente: clientes) {3 // ...4 cliente.getCarteira().subtrai(valor);5 // ...8 }9 }}
  14. 14. Lei de DemeterÉ um conjunto de regras para construir sistemas visando baixo acoplamentoPrincípio do Mínimo Conhecimento 
  15. 15. Não fale com estrageiros ou sejaFale somente com amigos (membros ou parametros)
  16. 16. produto.getCliente().getEndereco().getCEP()
  17. 17. porque um acidente de trem vai estragar o seu dia
  18. 18. produto.getCliente().getEndereco().getCEP()
  19. 19. É possível aplicar o princípio em  todos os projetos?
  20. 20. “A Lei de Demeter na verdade deveria ser chamada de Sugestão de Demeter”Martin Fowler
  21. 21. o mais importante em um projeto éescrever código bonito
  22. 22. o mais importante em um projeto éescrever código bom
  23. 23. Obrigado! while42

×