Código Limpo: reflexão e prática
Um conjunto de filosofias extremamente importantes e populares no ecossistema
Desenvolvimento de software possui diversas bases teóricas que definem o comportamento da programação e ajudam a padronizar métodos de criação. Os livros possuem um papel fundamental para a compreensão dessas bases, eles estão localizados no que definimos de “tempo da reflexão”, um pouco distantes do “tempo da prática”. Os princípios do Código Limpo fazem parte de um conjunto de filosofias extremamente importantes e populares no ecossistema.
No entanto, principalmente entre iniciantes, ainda existem dúvidas sobre o que é, afinal, um “código limpo” e o que ele representa na prática e na lógica do mercado.
Robert C. Martin
Robert C. Martin escreveu o livro “Clean Code” em 2009, um pouco antes da virada da década, e desde então serve como referencial fundamental para a consolidação de novos projetos que surgiram entre 2010 e 2020.
Além de ter uma bibliografia referente na área, Robert foi um dos co-autores do manifesto ágil. Ele também definiu os cinco princípios de design SOLID, com o objetivo de tornar o desenvolvimento de software mais compreensível, flexível e sustentável.
Com uma extensa carreira no desenvolvimento de códigos, Robert se dedica em unir os dois tempos, reflexão e prática, para contribuir na qualidade de vida dos programadores e usuários, aproximando a tecnologia com interesses humanos.
Não há regras, nem leis, nem manuais
O desafio aqui é me propor a explicar para você o que é código limpo da maneira mais objetiva possível, sem deixar confusões e, no mínimo, alimentar a sua curiosidade em saber mais sobre o assunto.
E eu confesso que já comecei errado: “clean code” é uma ideia subjetiva reunida com base em princípios de boas práticas, ou seja, não há características definitivas.
Não há regras, nem leis, nem manuais. No entanto, há pistas que podemos encontrar, entre estudos de erros e acertos, do que pode ser considerado um exemplo de código limpo.
Prosa elegante e eficaz
Para definir o que é Código Limpo, nessa palestra disponível no YouTube, Robert cita alguns programadores reconhecidos pela comunidade. Grady Booch define:
“código limpo é simples e direto. Código limpo é lido como uma prosa bem escrita”.
Booch é um dos teóricos responsáveis em criar os fundamentos de projetos orientados a objetos, e abriu portas para novas metodologias de desenvolvimento colaborativo.
A sua definição sobre código limpo está conectada à legibilidade do código, cujo deve ser lido e apreciado como prosa literária.
Bjarne Stroustrup, criador do C++, apresenta uma definição um pouco mais objetiva e reflexiva na prática:
“Eu gosto que meu código seja elegante e eficiente… uma coisa o código limpo faz bem”.
Bjarne apresenta uma visão única ao unir elegância e eficiência dentro do desenvolvimento.
Adeus, clean code
O programador Dan Abramov, um dos desenvolvedores do núcleo React, no Facebook, escreveu um artigo provocando o conceito de clean code e sobre a busca, quase obcecada, de muitos programadores pelo código elegante.
Você pode conferir o artigo aqui.
Nas palavras de Dan, “código limpo não é um objetivo. É uma tentativa de buscar sentido nessa imensa complexidade de sistemas que estamos lidando”.
Como vocês podem reparar, unir consenso e fechar o conceito numa frase única, objetiva, definitiva, pode gerar uma série de problemas, já que a tecnologia é movida por resultados e subjetividades humanas.
Reflexão carinhosa sobre boas práticas
Para compreender o que é código limpo basta observar e refletir com atenção — e carinho — suas boas práticas. Muitos profissionais da área eventualmente vão passar por um momento de reflexão e observar seus princípios — com suas respectivas subjetividades e objetivos em mente.
Concordamos que pode ser um passo fundamental para quem precisa expandir novas rotas dentro da programação e compreender melhor a fluidez do conhecimento e da tecnologia.
Em 2015, bem no começo do canal, o Filipe Deschamps fez um vídeo para comentar a sua leitura sobre “Código Limpo” e pontuar os princípios da filosofia.
Sobre reflexão e boas práticas, o Diego Fernandes, aqui na Rocketseat, fez um Code/Drops no passado para explorar os princípios da programação, entre eles o DRY, KISS e YAGNI. Você pode ver o vídeo aqui.