Três regras ao refatorar

1. Um método só faz uma coisa

cenário: você está tentando explicar o que um método faz, você diz “este método está fazendo isso …”, assim que você coloca ‘e aquilo’ em sua explicação, você precisa pensar em extrair ‘isso’ para outro método

2. Um arquivo cobre apenas um assunto

cenário: você está tentando explicar o que é um arquivo, você diz “este arquivo cobre este assunto …”, assim que você introduz outro assunto em sua explicação, você precisa pensar em extrair outro assunto para outro arquivo

3. Um bloco de código é usado apenas uma vez (nem sempre)

cenário: você está tentando escrever um pedaço de código para fazer algo, você escreve “…” assim que se pegar repetindo (ou copiando e colando) o que já havia escrito em outro local do mesmo projeto, você precisa pense em reescrever esse código para ser reutilizável. (geralmente se aplica a um bloco de código)

PS

a regra 3 pode, em certo sentido, parecer a mesma que a regra 1, mas não exatamente a mesma … sinta-se à vontade para me ajudar a refinar as palavras. argumentos são mais que bem-vindos! obrigado!