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

Clean Code com Funções: Let's Get Started

Marylly
April 17, 2020

Clean Code com Funções: Let's Get Started

Palestra de introdução ao tema Clean Code e como aplicar na construção e/ou refatoração de métodos e/ou funções na #LiveAfropython | Codando Juntas | com Marylly Silva e Dani Monteiro.

Marylly

April 17, 2020
Tweet

More Decks by Marylly

Other Decks in Programming

Transcript

  1. Olá! Sou Marylly Araújo Estou aqui porque quero que exista

    uma comunidade de desenvolvedoras e sou desenvolvedora de software não somente na ThoughtWorks. 2
  2. Abrange vários aspectos Nomes Significativos Funções Comentários 4 Formatação Limites

    Tratamento de Erro Tratamento de Erros Objetos e Estruturas de Dados Testes de Unidade
  3. Aspectos para serem considerados (cont.) 5 ◂ criado a partir

    de experiências e vivências pessoais; ◂ experiência maior com estruturas procedurais (paradigmas imperativos); ◂ experiência com orientação à objeto; ◂ experiência com níveis baixos ou altos de granularidade de métodos e/ou funções;
  4. Aspectos para serem considerados 6 ◂ influência de colegas de

    trabalho que dizem se um código está bom e limpo; ◂ boas e más experiências com projetos anteriores e cultura de time que tem esse domínio muito bem definido; ◂ conhecer o domínio e regras de negócio e o mercado atendido.
  5. 12 Evite nomes que tenham no nome apenas uma letra

    Podem não ajudar na compreensão do código e de seu contexto
  6. 14 Evite adicionar contextos desnecessários Nome ou as siglas da

    empresa em todas as classes, métodos e funções, prejudicando a pesquisa
  7. Mais alguns para evitar ◂ Evite usar números sequenciais em

    nomes ( a1, a2, ..., aN ), não expressa nenhuma informação que ajude a compreender o contexto do código. ◂ Evite linguagem informal e/ou gírias. Exemplos: whack(), eatMyShorts(), abort(). ◂ Quanto mais longo é um programa, mais tempo e difícil para entender o que ele faz. 15
  8. Nomes significativos ◂ Acho que todo mundo se depara não

    com o desafio de criar uma função método com um cálculo matemático, mas sim, como nomear essa função que executa este cálculo matemático complexo. 17
  9. Nomes significativos ◂ Funções/Métodos devem fazer apenas uma coisa, devem

    fazê-la muito bem e apenas ela. Devem comunicar o que fazem e como usa de forma compreensível 2 e que revelem seu propósito. Cuide de seus nomes e troque quando encontrar melhores. 19
  10. Mais alguns para exercitar ◂ Use nomes a partir do

    domínio(projeto, negócio, objetivo) da solução ou do problema da aplicação; ◂ Nomes curtos geralmente são melhores contanto que sejam objetivos e compreensíveis; ◂ Blocos dentro de instruções if/else, while devem ter uma linha, porque a chamada dentro do bloco pode receber um nome mais descritivo. 21
  11. Perguntas boas para fazer durante o processo ◂ Como fazer

    uma função/métodos transmitir seu propósito? ◂ Quais atributos das nossas funções/métodos que permitirão um leitor comum deduzir o tipo de programa ali contido? ◂ Funções devem ser pequenas: Qual o tamanho ideal? 3, 4 linhas? 22
  12. 23 Obrigada! Alguma dúvida, comentário, complemento? ◂ [email protected] ◂ LinkedIn:

    Marylly Silva ◂ Twitter: @MaryllyOficial ◂ IG: @MaryllyOficial
  13. Referências ◂ Araújo, Marylly. Clean Code: Comece por aqui, https://dev.to/marylly/clean-code-introducao-bfb.

    Acessado em 25 de março de 2020. ◂ Araújo, Marylly. Clean Code: Funções, https://dev.to/marylly/clean-code-funcoes-3n78. Acessado em 25 de março de 2020. ◂ Martin, Robert, Código Limpo: Habilidades práticas do Agile Software, 2011, Alta Books, Rio de Janeiro. ◂ Fowler, Martin, Refactoring: Improving the Design of Existing Code, 2019, Pearson, EUA. 24