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

Utilizando Clean Code para deixar seu código ainda mais manutenível - TDC Transformation - Grupo Boticário

Utilizando Clean Code para deixar seu código ainda mais manutenível - TDC Transformation - Grupo Boticário

Nesta palestra explicarei o que é Clean Code, a sua importância e algumas dicas práticas de como escrever um código melhor.

Roger Albino - TDC Transformation 2021 - Grupo Boticário - GBTech - 25 de agosto de 2021

Roger Albino

August 25, 2021
Tweet

More Decks by Roger Albino

Other Decks in Programming

Transcript

  1. Roger Albino - @rogeralbinoi Utilizando Clean Code para deixar o

    seu código ainda mais manutenível 25 de agosto 2021
  2. Roger Albino - Desenvolvedor Front-end há 8 anos - Developer

    Specialist no Grupo Boticário - Mentor no Programa Desenvolve GB - React, React Native, Serverless e NextJS @rogeralbinoi / @rogeralbino - Twitter, GitHub, Speaker deck…
  3. • Temos um grande desafio: construir o maior e melhor

    ecossistema de beleza do mundo. • Pra isso, em 2019 decidimos que o Grupo Boticário deveria se tornar líder em tecnologia e experiência. • Em um ano, dobramos de tamanho, e em 2021 dobraremos novamente.
  4. Que tal reinventar o futuro da Beleza com a gente?

    Acesse grupoboticario.gupy.io/ e conheça as oportunidades!
  5. Código limpo (Clean Code) Livro por Robert C.Martin (Uncle Bob)

    Imagem retirada de: https:/ /www.amazon.com.br/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM • Livro com ensinamentos para escrever código de qualidade.
  6. Se você está começando Não se assuste! • Eu já

    escrevi código ruim • Você vai escrever muito código ruim ainda… • Tá tudo bem! • Faz parte do aprendizado
  7. Saber o que é um código bom, não te faz

    escrever código bom O Nascimento de Vênus (1484–1486), Sandro Botticelli - Imagem retirada de: https:/ /www.revistabula.com/12033-as-10-obras-de-arte-mais-famosas-da-historia/
  8. Um código bom realmente importa? • Somos autores, uma boa

    comunicação é nossa responsabilidade • Outras pessoas vão ler o seu código • Você também vai ter que ler o seu código • Passamos a maior parte do tempo dando manutenção em código existente • Perdemos horas e recursos importantes devido a um código mal escrito
  9. Um código ruim reduz a produtividade do time com o

    passar do tempo Produtividade / Tempo decorrido do projeto Produtividade 0 25 50 75 100 Tempo decorrido do projeto Abril Maio Junho Julho Agosto
  10. Nomes • Nomeamos coisas o tempo todo (variáveis, funções, parâmetros,

    classes, pacotes, arquivos, pastas) • Escolha nomes que revelem o seu propósito • Escolher bons nomes leva tempo, mas economiza um tempão no futuro. • Quando encontrar nomes melhores, troque-os
  11. Nomes • Use nomes que revelem o seu propósito •

    Evite dicas erradas • Evite números mágicos
  12. Nomes • Use nomes que revelem o seu propósito •

    Evite dicas erradas • Evite números mágicos • Evite usar apenas letras (x, y, z, a, b, c)
  13. Nomes • Use nomes que revelem o seu propósito •

    Evite dicas erradas • Evite números mágicos • Evite usar apenas letras (x, y, z, a, b, c) • Evite siglas e abreviações (a menos que todos conheçam tipo API)
  14. Funções / Métodos • Devem ter apenas uma responsábilidade (Fazer

    apenas uma coisa) • Devem ser pequenas (Se a função está grande, talvez ela esteja fazendo mais do que deveria)
  15. Funções / Métodos • Blocos de identação (if, else, while),

    devem ter apenas uma linha (possivelmente chamando outra função)
  16. Funções / Métodos • Blocos de identação (if, else, while),

    devem ter apenas uma linha (possivelmente chamando outra função) • Não tenha medo de criar nomes grandes (o nome da função deve descrever o que ela faz)
  17. Formatação • Crie um padrão ou use padrões já conhecidos

    • Indentação, ponto e virgula, aspas duplas ou aspas simples… • Use ferramentas que te avisam sobre problemas de formatação (ou que corrijam isso para você,)
  18. Testes, testes, testes… • Se um código está difícil de

    ser testado, provavelmente tem algum problema no design dele • Bons testes te ajudam a garantir que tudo está funcionando direitinho • Escrevi código novo, ele deve estar coberto por testes • Corrigi um BUG, mais testes devem ser adicionados
  19. Comentários • Comentários mentem, código não! • Comente o necessário

    • Não insira comentários num código ruim, reescreva-o
  20. Alguns princípios • DRY (Don’t repeat yourself ) - evite

    código duplicado • KISS (Keep it Simple stupid) - Complexidade demais atrapalha • SOLID - (Príncipios do Design Orientado a Objetos)
  21. Dicas de leitura • Clean Code (Código limpo) • Clean

    Architecture (Arquitetura limpa) • Design Patterns (Padrões de projeto) • Refactoring (Refatoração)