{js}
1/8/2013 Richard Santos - Front-end Tech Lead
js é bom?
1/8/2013 Richard Santos - Front-end Tech Lead
js é legal:
• Fracamente tipada (nem sempre isso é bom);
• Funções...
js é ruim?
1/8/2013 Richard Santos - Front-end Tech Lead
tem seus problemas:
• Wat;
• Dart;
escopo
1/8/2013 Richard Santos - Front-end Tech Lead
• escopo de variáveis;
• objeto this;
closure
1/8/2013 Richard Santos - Front-end Tech Lead
Definição rápida: função que referencia variáveis livres.
Uma closur...
prototype
1/8/2013 Richard Santos - Front-end Tech Lead
Todo objeto é criado a partir do seu protótipo.
Não mude o protóti...
strict mode
1/8/2013 Richard Santos - Front-end Tech Lead
O interpretador do JS roda em um modo mais rigoroso.
Pode ser in...
don’t touch in the DOM
1/8/2013 Richard Santos - Front-end Tech Lead
Existe um pedágio ao buscar elementos no DOM
Quanto m...
performance
1/8/2013 Richard Santos - Front-end Tech Lead
• Evite variáveis globais;
• Cuidado com o acesso aos dados; (ob...
patterns / antipatterns
1/8/2013 Richard Santos - Front-end Tech Lead
• Criação de objetos;
• Encadeamento;
• Namespace;
•...
organização
1/8/2013 Richard Santos - Front-end Tech Lead
Separe opções, elementos, métodos e eventos
Sugestão pra criação...
tray
1/8/2013 Richard Santos - Front-end Tech Lead
tray
1/8/2013 Richard Santos - Front-end Tech Lead
• muitas pastas para armazenar js;
• loja/view/scripts;
• mvc/Plugin/Pe...
desafio
1/8/2013 Richard Santos - Front-end Tech Lead
• organizar tudo isso aí!
• melhorar continuamente os novos projetos...
perguntas
1/8/2013 Richard Santos - Front-end Tech Lead
?
obrigado
1/8/2013 Richard Santos - Front-end Tech Lead
!
Próximos SlideShares
Carregando em…5
×

JavaScript Patterns / Antipatterns

402 visualizações

Publicada em

Escopo
Objeto this
Patterns / Antipatterns

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

Nenhuma nota no slide

JavaScript Patterns / Antipatterns

  1. 1. {js} 1/8/2013 Richard Santos - Front-end Tech Lead
  2. 2. js é bom? 1/8/2013 Richard Santos - Front-end Tech Lead js é legal: • Fracamente tipada (nem sempre isso é bom); • Funções anônimas; • Funções invocadas automaticamente; • Closures; • Não tem classes; • Tudo é objeto, métodos são funções, construtores de objetos são funções;
  3. 3. js é ruim? 1/8/2013 Richard Santos - Front-end Tech Lead tem seus problemas: • Wat; • Dart;
  4. 4. escopo 1/8/2013 Richard Santos - Front-end Tech Lead • escopo de variáveis; • objeto this;
  5. 5. closure 1/8/2013 Richard Santos - Front-end Tech Lead Definição rápida: função que referencia variáveis livres. Uma closure não é afetada por objetos exteriores.
  6. 6. prototype 1/8/2013 Richard Santos - Front-end Tech Lead Todo objeto é criado a partir do seu protótipo. Não mude o protótipo do que for nativo!
  7. 7. strict mode 1/8/2013 Richard Santos - Front-end Tech Lead O interpretador do JS roda em um modo mais rigoroso. Pode ser inserido no escopo global ou local.
  8. 8. don’t touch in the DOM 1/8/2013 Richard Santos - Front-end Tech Lead Existe um pedágio ao buscar elementos no DOM Quanto mais você atravessar essa ponte, mais custo terá.
  9. 9. performance 1/8/2013 Richard Santos - Front-end Tech Lead • Evite variáveis globais; • Cuidado com o acesso aos dados; (objeto.usuario.nome.primeiroNome); • Iterações; • Evite funções baseadas em iterações; ($.each)
  10. 10. patterns / antipatterns 1/8/2013 Richard Santos - Front-end Tech Lead • Criação de objetos; • Encadeamento; • Namespace; • Valide seu código (JS Lint, JS Hint)
  11. 11. organização 1/8/2013 Richard Santos - Front-end Tech Lead Separe opções, elementos, métodos e eventos Sugestão pra criação de plugins
  12. 12. tray 1/8/2013 Richard Santos - Front-end Tech Lead
  13. 13. tray 1/8/2013 Richard Santos - Front-end Tech Lead • muitas pastas para armazenar js; • loja/view/scripts; • mvc/Plugin/PersonalizacaoTema/webroot/js; • loja/webroot/js; • adm/webroot/js; • bibliotecas/frameworks/plugins que não são mais utilizados; • alguns meses atrás tínhamos 4 versões da jQuery sendo importadas; • duplicação de plugins (carrossel hoje está duplicado em pastas diferentes); • falta de atualização dos plugins existentes; • Cloud Zoom; • peça ajuda;
  14. 14. desafio 1/8/2013 Richard Santos - Front-end Tech Lead • organizar tudo isso aí! • melhorar continuamente os novos projetos; • preview de temas; • banner javascript; • multi endereços; • seguir o padrão de código na Wiki;
  15. 15. perguntas 1/8/2013 Richard Santos - Front-end Tech Lead ?
  16. 16. obrigado 1/8/2013 Richard Santos - Front-end Tech Lead !

×