Upgrade to Pro — share decks privately, control downloads, hide ads and more …

15 JavaScript Do's & Don'ts

15 JavaScript Do's & Don'ts

Lightning Talk apresentada no JSDay Recife, em 14 de Dezembro de 2019.

Felipe Bernardes

December 14, 2019
Tweet

More Decks by Felipe Bernardes

Other Decks in Programming

Transcript

  1. img img img Confidential | 2 $ whoami Felipe Bernardes

    • Moro em Sorocaba - SP • Local conf/meetup co-organizer • Remote Freelancer @ Toptal • Front End Dev @ BabyCenter • Toco bateria (muito mal) • felipebernardes.github.io Hire the top 3% of freelance talent Hire the top 3% of freelance talent @felip_bernardes
  2. 15 Dicas em 15 Minutos para… • entender o que

    evitar (Don'ts) • aprender o que fazer (Dos) • codar JS melhor ! • ganhar mais $ @felip_bernardes
  3. DON'T use console.log feito doido … pois com ele, só

    se enxerga o valor final após todo processamento @felip_bernardes
  4. DO comece usar debugger com ele, você consegue acompanhar passo

    a passo o valor de suas variáveis @felip_bernardes
  5. DON'T tenha um framework de estimação e defenda-o como se

    fosse seu time de futebol @felip_bernardes
  6. DON'T não seja contra comentários de código, nem trate-os como

    oposto a escrever código legível @felip_bernardes
  7. DO além de escrever códigos legíveis, considere adicionar breves comentários

    que possam ajudar a contextualizar @felip_bernardes
  8. DO vá a talk da Amanda Vilela, freelancer da Toptal,

    hoje às 11h15 no auditório. Aprenda muito sobre performance, com um case real de otimização. @felip_bernardes
  9. DON'T não pense que a finalidade do seu trabalho é

    produzir código javascript @felip_bernardes
  10. DO entenda que a finalidade é agregar valor ao negócio,

    produto, empresa e usuário final @felip_bernardes
  11. DO estude por conta, faça projetos paralelos, faça POCs de

    temas importantes JS: PWA, Web Assembly, Svelt, frameworkless, service workers, etc. @felip_bernardes
  12. DO Crie a variável apenas uma vez, fora do bloco

    de iteração @felip_bernardes
  13. DON'T não use setTimeout 1) é imprevisível 2) 1000ms nem

    sempre é 1 segundo real 3) só acontece uma vez 4) assume algo 5) tudo isso ao mesmo tempo @felip_bernardes
  14. DO ao criar o setInterval, salve seu ID Sempre tenha

    uma condição dentro do intervalo pra interromper o setInterval @felip_bernardes
  15. DO use o prefixo “is” use apenas termos afirmativos (isFruit).

    Para testes negativos, utilize ! para melhor legibilidade (!isFruit) @felip_bernardes
  16. DON'T não teste por acesso aninhado a null e undefined

    à moda antiga pessoa && hobbies && hobbies.futebol && hobbies.futebol.modalidade && hobbies.futebol.modalidade === ‘salao’ @felip_bernardes
  17. DO utilize optional chaining. Mais legível, melhor pra manter, menos

    código. pessoa.hobbies?.futebol?.modalidade === ‘salao’ @felip_bernardes
  18. DON'T não use ids html, pois cada vez que você

    faz isso, uma tartaruga morre variavel global de referencia ao elemento DOM é criada. @felip_bernardes
  19. DON'T não manipule o DOM dentro de loops, pois cada

    vez que você o faz, força o reflow da tela. @felip_bernardes
  20. DO acumule as alterações necessárias e altere o DOM uma

    única vez após o loop @felip_bernardes
  21. DON'T não tente escrever o código perfeito de cara (na

    carreira, no projeto ou na tarefa) @felip_bernardes
  22. DO escreva código “ruim” quando você estiver começando (na carreira,

    no projeto ou na tarefa) faça funcionar -> cubra corner cases e corrija bugs -> otimize o código @felip_bernardes
  23. DON'T se limite aos salários locais. toda empresa, bairro, cidade,

    estado e país possuem seu “teto salarial” @felip_bernardes
  24. DO exercite sua independencia técnica, aplique-se pra vagas remotas ,

    … nacionais e internacionais! @felip_bernardes
  25. Front End, Back End & Full Stack QA analyst DevOps

    AR/VR Sales Force Blockchain & outras