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.
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;
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.
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
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
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
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
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