Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Dicas»O que define um código limpo?

    O que define um código limpo?

    Jhonathan SoaresBy Jhonathan Soares11 de abril de 20163 Mins Read Dicas
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Esses dias me perguntaram sobre o que eu acho sobre “O que é código limpo, ou clean code?”

    Acredito que deva existir 1000 respostas diferentes e corretas sobre este assunto, porém vou dar meu parecer:

    Não há definição formal e duvido que um dia vá existir (é sintomático que não exista verbete na Wikipedia). Ele é subjetivo. Sempre que alguém disser o que é, desconfie. Mas é claro que algumas observações podem ser feitas independente de opinião. É óbvio que elas são vagas, não vão ajudar muito a definir com clareza o que é o termo mas também não farão presunções tendenciosas.

    • O fluxo de execução da aplicação é facilmente entendível, não importa em que paradigma, (não entenda fluxo só como o fluxo imperativo).
    • Os diversos objetos (nada a ver com OOP) tem relacionamento claramente definidos e é fácil percebê-los.
    • O papel e responsabilidade de cada participante da aplicação (classes, funções, variáveis, etc.) são claros, possivelmente com nome bem escolhido.

    No momento não consigo lembrar de nada mais que não seja específico e subjetivo demais para ser aplicado como uma forma geral de entendimento do assunto.

    Então o código precisa:

    • Ser fácil de entender por quem nunca o tinha visto antes
    • Possibilita manutenção sem grandes sobressaltos.
    • Funciona corretamente.

     

    Claro que espera-se que o leitor do código seja um desenvolvedor capacitado, quem entenda bem a linguagem onde está escrito e entenda os fundamentos da computação. A não ser que um código seja escrito para fins didáticos não é obrigação do código limpo explicar de qualquer forma seu funcionamento para leigos (mesmo aqueles que são remunerados como desenvolvedores, isto existe, e muito).

    Aí podemos começar definir algumas coisas mais específicas que ajudam cumprir estes três requisitos destacados acima:

    • As unidades de código devem ser curtas e ter apenas uma responsabilidade.
    • As partes “públicas” (a API) devem ser claras (óbvias, sem surpresas) e concisas (faz o mínimo necessário).
    • As estruturas de dados e algoritmos devem funcionar como o esperado.
    • O código deve ser facilmente verificável.
    • Códigos devem ser organizados e expressivos (concisamente indica a sua intenção)

    Além disto provavelmente está indo além da definição básica e começa entrar no campo subjetivo.

    Um livro muito interessante onde o primeiro capítulo do livro está disponível como artigo , é muito recomendado para uma leitura. No livro a cada página lida você vai se aprofundando e ele vai sugerindo certas coisas que são discutíveis. O livro não é ruim, todo mundo deveria lê-lo principalmente para abrir a sua mente e fazer você debater sobre seus conceitos do que é certo e/ou errado.


    Só um adendo para não passar a falsa impressão que 100% do código escrito deva ser limpo. Claro que isto seria ideal mas há certos domínios em conjunto com certos requisitos que conflita com o conceito de código limpo. Pode ser raro, não ser aplicável em determinados tipos de projeto, mas existe situações assim. Como em tudo, você deve saber quando perseguir um ideal e quando ser pragmático e resolver o problema da forma mais adequada. Talvez no final das contas pode-se resumir à seguinte afirmação: “Código limpo é aquele que é escrito da melhor maneira possível analisando todas as variáveis de cenário, negócio, requisitos e experiência de quem o escreveu”.

    O que acharam? Deixa aí nos comentários sua opinião!

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    Happy Hour com Dados #16 – Java vs C#

    C# Dicas 22 de setembro de 20201 Min Read

    Happy Hour com Dados #15 – Aplicação de IA no Processamento de Imagem

    Dicas Tecnologia 22 de setembro de 20201 Min Read

    Happy Hour com Dados #14 – Modelagem de Dados

    Dicas NoSql Sql 22 de setembro de 20201 Min Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile