7 coisas que todo desenvolvedor Ruby on Rails deveria fazer

4,876 views

Published on

7 dicas que irão ajudar a manter o código das aplicações Rails livre de erros, deixá-lo mais fácil de ser mantido e fazer com que os usuários da aplicação tenham uma experiência mais agradável ao utilizá-la.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,876
On SlideShare
0
From Embeds
0
Number of Embeds
2,526
Actions
Shares
0
Downloads
37
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • Uso indiscrimado de save e update_attribute (e similares)\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Manipulação de arquivos, chamadas de serviços externos, estrutura de dados (parser), envio de e-mails, etc.\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • - O serviço pode estar fora do ar\n- Os dados de retorno podem estar inconsistentes\n\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Segunda etapa\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 7 coisas que todo desenvolvedor Ruby on Rails deveria fazer

    1. 1. 7coisas que todo desenvolvedor Ruby on Rails deveria fazer
    2. 2. Fernando Hamasaki @Prodis
    3. 3. 7coisas que todo desenvolvedor Ruby on Rails deveria fazer
    4. 4. 1Atualizações transacionais no banco de dados
    5. 5. update_attribute é o câncer dasatualizações transacionais Atualizações transacionais no banco de dados
    6. 6. Atualizações transacionais no banco de dados
    7. 7. Atualizações transacionais no banco de dados
    8. 8. 2 Trazer todos os dados necessários de umalistagem (eager loading)
    9. 9. Trazer todos os dados necessários de uma listagem
    10. 10. Trazer todos os dados necessários de uma listagem
    11. 11. Trazer todos os dados necessários de uma listagem
    12. 12. Trazer todos os dados necessários de uma listagem
    13. 13. 3Não colocar tudo no model (fat is ugly)
    14. 14. Modelos deveriam serresponsáveis somente por manipulação de dados Não colocar tudo no model
    15. 15. Não colocar tudo no model
    16. 16. Não colocar tudo no model
    17. 17. Não colocar tudo no model
    18. 18. Não colocar tudo no model
    19. 19. Não colocar tudo no model
    20. 20. 4 Cuidado ao incluirmódulos em controllers (filters hell)
    21. 21. Esses módulos podem possuir filtros que criamcomplexidade e dificultam a manutenção Cuidado ao incluir módulos em controllers
    22. 22. Cuidado ao incluir módulos em controllers
    23. 23. Cuidado ao incluir módulos em controllers
    24. 24. 5Logar chamadas de serviços externos
    25. 25. Serviços externos podem ter comportamentos inesperados Logar chamadas de serviços externos
    26. 26. O que logar?- URL (com parâmetros)- HTTP method- Body Logar chamadas de serviços externos
    27. 27. Correios-Frete Request:GET http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?sCepOrigem=05707001&sCepDestino=05707001&nVlPeso=0.099&nVlComprimento=36,0&nVlLargura=43,0&nVlAltura=5,0&nVlDiametro=0,0&nCdFormato=1&sCdMaoPropria=N&sCdAvisoRecebimento=N&nVlValorDeclarado=0,00&nCdServico=40010&nCdEmpresa=&sDsSenha=&StrRetorno=xmlCorreios-Frete Response:HTTP/1.1 200 OK<?xml version="1.0" encoding="ISO-8859-1" ?><Servicos><cServico><Codigo>40010</Codigo><Valor>12,40</Valor><PrazoEntrega>1</PrazoEntrega><ValorMaoPropria>0,00</ValorMaoPropria><ValorAvisoRecebimento>0,00</ValorAvisoRecebimento><ValorValorDeclarado>0,00</ValorValorDeclarado><EntregaDomiciliar>S</EntregaDomiciliar><EntregaSabado>S</EntregaSabado><Erro>0</Erro><MsgErro></MsgErro></cServico></Servicos> Logar chamadas de serviços externos
    28. 28. Logar chamadas de serviços externos
    29. 29. 6 Fazer migrações em etapas quando houverriscos de perda de dados
    30. 30. Fazer migrações em etapas
    31. 31. Fazer migrações em etapas
    32. 32. Fazer migrações em etapas
    33. 33. Fazer migrações em etapas
    34. 34. 7Compartilhar suas experiências
    35. 35. Idéias Soluções Problemas Macetes DicasCompartilhe suas experiências
    36. 36. Perguntas? Acho que não dá tempo
    37. 37. Vai, Corinthians!
    38. 38. Fernando Hamasaki @Prodis

    ×