Clean Code: Comece por aqui
Tags: codenewbie, codegirl, cleancode, bestpractices
Published: 2020-03-24 22:26:59

---
title: Clean Code: Comece por aqui
published: true
description: texto introdutório do que é o conceito código limpo ou no termo de origem Clean Code
tags: codenewbie, codegirl, cleancode, bestpractices
series: Clean Code
---

Esse artigo é um de uma série que fala sobre vários tópicos relacionados a Código limpo, seguem os tópicos relacionados abaixo:

* Código Limpo: 1. Introdução [Você está aqui!]

* [Código Limpo: 2. Funções](https://dev.to/marylly/clean-code-funcoes-3n78)

* [Código Limpo: 3. Exceptions e Tratamento de Erros](https://dev.to/marylly/exceptions-e-tratamentos-de-erros-56o7)

Existem muitos critérios e aspectos que podem caracterizar um "bom código" que devem ser considerados na construção do mesmo, temos muitos conteúdos que nos orientam como fazer.
Considerando um aspecto bem interessante seria o quanto isso pode ser constituído de critérios subjetivos e pessoais. Muitos desses critérios podem estar relacionados com a experiência e vivências de uma pessoa desenvolvedora, inclusive o Clean Code nasceu de boas e más experiências de seus idealizadores, e mesmo na literatura é possível que essas práticas mudem de acordo com a evolução do desenvolvimento de software, assim como podem ser aprimoradas. Sobre o que temos de comprovado sobre os benefícios do uso de Clean Codes são as seguintes características:

* Manutenibilidade (Maintainability): Código fácil de modificar e atualizar;
* Debugging – Código menos sujeito a erros e mais fácil de isolar e corrigir erros;
* Escalável (Scalability): Código modular, reutilizável e fácil de acomodar mudanças futuras;
* Colaboração (Collaboration): Código permite que muitas pessoas entendam o código de outras pessoas e consiga fazer o trabalho necessário; 
* Documentação (Documentation): Código auto-explicativo que reduza a necessidade excessiva de comentários; 
* Eficiência (Efficiency): Código previne duplicidade e complexidade desnecessária, melhorando performance;
* Legibilidade (Readability): Código fácil de ler, reduz confusão e melhora a Manutenibilidade.

Outros aspectos relacionados:
* 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;
* 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.

Todos os pontos acima colaboram com a leitura e compreensão do código dando sentido ao que está sendo interpretado (alguns casos nem tanto, rs).

Não existe uma regra de quais conceitos devem ser aplicados ou não no dia-a-dia, e não existe uma receita que garanta os resultados. Podem variar de contexto para contexto, podem ser agregados gradativamente e adotados a medida que os benefícios são observados e trazem valor ao desenvolvimento.

Sinta-se a vontade para ter suas próprias opiniões e critérios e criar os seus critérios de Código Limpo! =]

_Faltou alguma coisa?_
Se tu acha algo no artigo ficou confuso, coloca nos comentários ou me manda uma mensagem. Se conhecer mais dicas e práticas, coloca nos comentários para a galera já ler na sequência, vamos enriquecer nossa discussão sobre o assunto. =]

Próximo artigo >> [Funções](https://dev.to/marylly/clean-code-funcoes-3n78)

## Referências:
Shafrir, Nir; DZone: **Best Practices for Writing Clean Java Code**. Disponível em: https://dzone.com/articles/best-practices-for-writing-clean-java-code. Acessado em 25 de Setembro de 2023 12:57