Executando verificação de segurança...
12

[RESUMÃO] Clean Code (v1)

Princípios do Clean Code e das boas práticas da programação

1 - Escolha bons nomes

  • Os nomes das coisas devem sempre ser objetivos, demonstrando exatamente o que elas fazem.
  • É necessário cuidado para não passar informações erradas ao declarar nomes.
  • Pense com cautela e invista tempo na escolha dos nomes.
  • Nomes de classes devem ser curtos, com substantivos e iniciais maiúsculas:
    Person, ProductAdapter, HamburgerFactory
    cheeseCake, UpdateData, ProductValidatorAccordingToThePriceList
  • Nomes de métodos podem ser mais longos (não muito) e devem representar ações (verbos), com iniciais maiúsculas, exceto a primeira:
    updateProducts(), kill(), getAllComponentsOfElement(element)
    is_playing()
  • Nomes de variáveis devem ser como nomes de métodos (com iniciais maiúsculas, exceto a primeira) se forem atributos de classes, ou então com todas as letras minúsculas, usando underline para espaços para outros contextos:
    time_in_seconds, new_person_dto
    s, MoneyAmount

2 - Funções

  • Devem ser pequenas (4 linhas ou menos) e ter responsabilidades únicas.
  • Se uma função apresenta muitas linhas, ela deve ser quebrada em funções menores.
  • Não devem ter muitos parâmetros (4 são demais). Obs: se insistir que precisa deles, provavelmente seus parâmetros podem formar uma nova classe.

✅ Exemplo que segue os princípios acima

function calculateRectangleArea(float width, float height) {
    return width * height
}

❌ Fazendo além do que seu nome diz

function setName(string name) {
    name = name.toUpperCase()
    this.name = name
}

❌ Muitos parâmetros

function createNewCar(string name, float price, float velocity, Fuel fuelType, int doorAmount) {
    // ...
}

❌ Muitas responsabilidades

function receiveAndValidadeDateFromClient(Client client) {
    if (client == null)
        return
    
    if (!client.isConnected())
        return
        
    var data = client.getData()
    var client_id = data[0]
    var client_name = data[1].toUpperCase()
    
    handleClient(client_id, client_name)
}

3 - Comentários

  • Podem ser úteis em situações específicas, mas na maioria das vezes são usados quando não deveriam.
  • Se comentários estiverem tentando explicar o que o código faz, provavelmente o código não está limpo e os nomes não estão bem atribuídos. Se não for isso, o comentário provavelmente é redundante.
  • Comentários podem fornecer informações falsas.

4 - Classes

  • Devem ser pequenas e coesas, não possuindo inúmeros métodos e assumindo responsabilidade única.
  • Devem ser bem encapsuladas.
  • É preferível um sistema com diversas classes pequenas do que com poucas classes grandes.
Carregando publicação patrocinada...
4
1
1
1

Bem, não sei se é ético compartilhar o livro assim, mas por não ser um livro barato e como entendo bem o nosso cenário brasileiro, não sou eu quem vou julgar 😅

Mas uma dica que dou é: Se possível, compre o livro. Acho que a leitura dele é boa para se fazer sem estar do lado de um computador e é sempre mais fácil ler um livro no papel em vez de uma tela e sem outras coisas para te distrair.

1
1

Esse mesmo conteudo e muitos outros está disponivel em diversas outras plataformas, incluindo o github.

Sei que não é porque outros fazem que temos o direito de fazer, mas qualquer um que pesquisar consegue encontrar, estou apenas facilitando o acesso a um conteudo que ja esta disponivel a anos e pode ajudar outras pessoas.

Mas agradeço desde já sua preocupação, abraço e bons estudos!!

1
2
1
1

Parabéns pelo post! Muito bem resumido e direto. A legibilidade do código melhora e muito depois de aplicar esses pontos abordados 👨‍💻

1

Achei muito massa o conteúdo, tenho uma turma de mentorados que tem dúvidas justamente nas coisas mais simples do clean code. Vou compartilhar com eles, bom trabalho!

1
1
1