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

Maintainable JavaScript

Maintainable JavaScript

Talk about the good scalability and good practices javascript. Based on a previous lectures of Nicholas C. Zákas (@slicknet) and some concepts developed by Uncle Bob.

Local: Curto Café • Centro, Rio de Janeiro - RJ

Raphael Amorim

March 20, 2015
Tweet

More Decks by Raphael Amorim

Other Decks in Technology

Transcript

  1. MAINTAINABLE JAVASCRIPT
    RAPHAEL AMORIM

    View Slide

  2. Raphael Amorim
    raphamundi
    raphamorim

    View Slide

  3. WHO CARES?

    View Slide

  4. “MAINTAINABLE CODE
    WORKS FOR FIVE YEARS
    WITHOUT MAJOR
    CHANGES”

    View Slide

  5. CODE STYLE GUIDE

    View Slide

  6. View Slide

  7. View Slide

  8. BAD

    View Slide

  9. NAMING
    • USE NOMES LÓGICOS PARA VARIÁVEIS E FUNÇÕES
    - NÃO SE PREOCUPE COM O TAMANHO
    !
    • NOMES DE FUNÇÕES COMEÇANDO SEMPRE COM
    VERBO
    !
    Ex: getCoffee()
    • FUNÇÕES DE RETORNO BOOLEANO DEVEM
    SEMPRE COMEÇAR COM “IS” OU “HAS”
    Ex: hasItem() ou isValid()

    View Slide

  10. NAMING

    View Slide

  11. NAMING

    View Slide

  12. NAMING

    View Slide

  13. PROGRAMMING PRACTICES

    View Slide

  14. Mantenha seu JavaScript fora do HTML

    View Slide

  15. Mantenha seu HTML fora do JavaScript

    View Slide

  16. Mantenha seu CSS fora do JavaScript

    View Slide

  17. Event Handlers devem ser apenas Event Handlers
    Bro, você mandou mal!

    View Slide

  18. Event Handlers devem ser apenas Event Handlers
    Bro, você mandou bem!

    View Slide

  19. Não sobrescreva métodos/objetos de projetos externos
    Muito menos adicione novos métodos

    View Slide

  20. FUJA / EVITE / NEM PENSE
    NO USO DE VARIÁVEIS
    GLOBAIS

    View Slide

  21. SÉRIO MESMO.

    View Slide

  22. Trabalhe com erros
    (ESPECIALMENTE quando você sabe que há chances de falhar)

    View Slide

  23. Evite comparações com null

    View Slide

  24. Evite comparações com null
    Compare precisamente o que realmente importa

    View Slide

  25. KEEP ROCKING

    View Slide

  26. LINTING

    View Slide

  27. DOCUMENTATION

    View Slide

  28. TESTS EVERYWHERE

    View Slide

  29. IMPROVE YOURSELF
    S.O.L.I.D. snake

    View Slide

  30. VLW FLWS

    View Slide