Um clássico que merece estar em toda e qualquer coleção de livros sobre desenvolvimento de software: esse é o caso do Clean Code: A Handbook of Agile Software Craftsmanship. Há quase 10 anos atrás, Uncle Bob aterrisava nas prateleiras técnicas com seu livro despejando diversas boas práticas de programação.
Seguindo uma linha diferente de outros livros sobre o tema (que se apoiam na análise e aplicação exaustiva de design patterns), o tio Bob traz um livro recheado de opiniões bastante pessoais desenvolvidas ao longo de algumas décadas escrevendo e dando manutenção em códigos.
O livro continua atual (embora alguns exemplos práticos já começam a dar sinais da sua idade), abordando temas como dar bons nomes a classes e métodos, comentários, formatação de código, manipulação de erros, fronteiras no seu código, testes unitários, concorrência, boas práticas em funções e muita mais coisas.
Como mencionei, o livro trata-se de uma apanhado de críticas e sugestões pessoais do autor no processo de criação de código e a importância do livro vem justamente daí: as (sarcásticas) opiniões do autor podem até não serem uma unanimidade, mas são bem fundamentas e, em vários momentos, exemplificadas usando trechos de códigos extraídos de bibliotecas reais de mercado.
Sinopse Oficial do Livro Clean Code (em Inglês)
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer–but only if you work at it.
What kind of work will you be doing? You’ll be reading code–lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code–of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
- How to tell the difference between good and bad code
- How to write good code and how to transform bad code into good code
- How to create good names, good functions, good objects, and good classes
- How to format code for maximum readability
- How to implement complete error handling without obscuring code logic
- How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Fonte: Amazon
Pontos Positivos
Eu recomendo esse livro principalmente para desenvolvedores iniciantes ou para aqueles que precisam lembrar dos princípios de uma programação limpa.
Pontos Negativos
Como muitas coisas na vida, alguns pontos defendidos no livro não são verdades absolutas e dependem da experiência do leitor para interpreta-las a sua realidade.
Caso você seja um desenvolvedor com alguma bagagem, é possível que este livro não aborde os problemas com a profundidade que se espera.
Por fim, outro ponto é que o livro Java para seus exemplos (o que não é um ponto negativo), porém, alguns exemplos usam algumas libs específicas da linguagem, o que pode ser ruim caso você não as conheça.
Se interessou no livro?
O que é Clean Code?
Clean code é um conjunto de práticas de programação que visam escrever código fácil de entender, manter e mudar. O objetivo é que o código seja auto-explicativo, de fácil navegação e que possa ser facilmente modificado sem causar efeitos colaterais inesperados.
Existem vários princípios que podem ser seguidos para escrever código limpo, incluindo:
- Nomeação de variáveis e funções de forma consistente e descritiva
- Utilizando funções curtas e simples, com um único propósito
- Utilizando comentários apenas quando necessário e mantendo-os atualizados
- Evitando a duplicação de código
- Utilizando padrões de projeto e arquitetura de código para organizar o código de forma estruturada e fácil de entender
- Utilizando testes automatizados para garantir a qualidade e confiabilidade do código.
É importante notar que a limpeza do código não é uma tarefa que é feita uma única vez, portanto é um processo contínuo. O código tende a se tornar sujo com o tempo, então é necessário manter uma atenção constante para mantê-lo limpo.