iOS antipatterns

649 visualizações

Publicada em

Palestra no TDC SP 2014 - trilha de iOS

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
649
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

iOS antipatterns

  1. 1. iOS Antipatterns Tudo que você deveria fazer no seu código, só que não.
  2. 2. Oi! • Hanneli (‘H' mudo) • CodeMiner 42 • Café, Pokémon, Lego e bichos <3 HIRING
  3. 3. O que é um código ‘ruim'?
  4. 4. Por que escrevemos código ruim?
  5. 5. O que vamos ver aqui • Paradigma de programação - sua importância • Princípios de OO que colaboram para um código ‘não ruim’ • Antipatternizando patterns • OSS - exemplos de antipatterns • GIFs engraçados (ou não)
  6. 6. O que *Não* vamos ver aqui • Aula chata de OO • Introdução a Objective C / iOS / etc • Design Patterns • Aula sobre SOLID
  7. 7. Paradigma == modelo; padrão Toda vez que você padroniza algo, você facilita na identificação e na produção
  8. 8. Orientação a Objetos == paradigma O que é OO? Herança Polimorfismo Encapsulamento
  9. 9. O que é OO? “Passar Mensagem.”
  10. 10. OO para Objective C?
  11. 11. Colocando ordem na ‘troca de mensagens' SOLID
  12. 12. “Mantenha suas classes pequenas" Xiita de código bonito, 2014 https://github.com/robbiehanson/XMPPFramework/blob/ master/Core/XMPPStream.m
  13. 13. “1 classe, 1 responsabilidade” Xiita de código bonito, 2014 SO L I D ingle Responsibility
  14. 14. Como melhorar? SO L I D ingle Responsibility • Separar o controle dos bytes em outra classe • Separar o controle dos Events em outra classe • Separar a autenticação (!!11!!!)
  15. 15. “Cuidado com a herança" Xiita de código bonito, 2014 https://github.com/robbiehanson/XMPPFramework/blob/ a833c29e5b26cc3cca3d1f37490eed8ff5dd65e2/Extensions/ XEP-0009/XMPPIQ%2BJabberRPC.m
  16. 16. S O L I D pen closed
  17. 17. Como melhorar? • Interface comum - @protocol S O L I D pen closed
  18. 18. Vamos falar sobre Design Patterns
  19. 19. Por que todo mundo fala em Design Patterns?
  20. 20. Singleton
  21. 21. Singleton - prós •Objeto pesado criado uma única vez! •Guarda estado
  22. 22. Singleton - cons
  23. 23. Singleton - cons •Objetos pesados!
  24. 24. Singleton - Vilão ou mocinho? Use com moderação!
  25. 25. Decorator
  26. 26. Decorator https://github.com/robbiehanson/XMPPFramework/blob/ a833c29e5b26cc3cca3d1f37490eed8ff5dd65e2/Utilities/ DDList.m
  27. 27. Decorator
  28. 28. Decorator • Separar esses nodes • Associar os nodes
  29. 29. Conclusões • Dê uma melhorada no código! • Não precisa usar design patterns o tempo todo, mas eventualmente ajuda • Dê uma revisada nos princípios de OO e SOLID! Quem for manter seu código agradece!
  30. 30. Obrigada! @hannelita hannelita@gmail.com

×