Jump to ratings and reviews
Rate this book

Robert C. Martin Series

Clean Code: A Handbook of Agile Software Craftsmanship

Rate this book
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.

431 pages, Paperback

First published January 1, 2007

Loading...
Loading...

About the author

Robert C. Martin

80 books1,930 followers
Robert Cecil Martin, commonly called Uncle Bob, is a software engineer, advocate of Agile development methods, and President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients.

He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at international conferences and trade shows.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
12,251 (51%)
4 stars
8,334 (35%)
3 stars
2,590 (10%)
2 stars
451 (1%)
1 star
159 (<1%)
Displaying 1 - 28 of 28 reviews
Profile Image for Guilherme Ferreira.
61 reviews2 followers
August 7, 2014
Com este livro pude compreender melhor como organizar código e programar de forma mais legível. O livro trata dos mais diversos assuntos desde testes, funções, exceções, nomes, abstrações e muitos outros tudo isso da ótica da legibilidade de código. Com diversos exemplos práticos de como algumas escolhas ruins podem quebrar princípios básicos da orientação à objeto e se tornarem monstros posteriormente e o mais importante como fazer da forma correta (legível).

O livro também define um conjunto de code smells e heurísticas que permitem identificar código pouco e com nenhuma legibilidade mas como o próprio livro diz, para escrever clean code não é só decorar essas regras, sim compreender o valor que elas adicionam ao cliente.

Fale o que o você significa. Signifique o que fala.
Profile Image for Yuri Silva.
12 reviews9 followers
June 26, 2025
O livro é um clássico, bem importante com alguns conceitos bem ricos, porém bastante desatualizado em seus exemplos ainda no Java 5, e infelizmente a edição em português tem muitos erros de tradução e muitas falhas de texto, dificultando a leitura em alguns pontos.
Profile Image for Alan.
63 reviews13 followers
February 17, 2021
Leitura fastfood da versão em português pra preparar material de aula. Recomendo a leitura da versão em inglês, existem erros na tradução em português. Recomendo também assistir aos vídeos da série, são mais interessantes e mais divertidos.
Profile Image for Gabriel Gonçalves de Oliveira.
44 reviews
March 29, 2025
Essencial para programadores
O "Código Limpo" de Robert C. Martin é essencial pra quem trabalha com desenvolvimento de sistemas, apresenta conceitos importantíssimos para manutenção de um código prazeroso de se mexer. Todos nós da área de programação sabemos como é uma infelicidade (para não falar outras palavras chulas) de mexer com código legado ma feito, ou feito às pressas, que com o crescimento do sistema vai ficando cada vez mais difícil de se manter. Os conceitos apresentados visam minimizar isso, dando uma ênfase grande principalmente na legibilidade do código.

Não recomendaria este livro pra iniciantes na area já que o livro exige uma carga de conhecimento prévio e conhecimento "de campo" para você entender certas situações apresentadas.

Outra coisa que pode desagradar alguns leitores é sua ênfase em POO (programação orientada a objetos), com seus exemplos todos sendo apresentados em JAVA. Porém os conceitos apresentados, mesmo sendo um pouco amarrados a POO, com alguns ajustes podem ser usados tranquilamente com linguagens de outros paradigmas.

Agora algo inaceitável é a quantidade imensa de erros de português e consistência no texto. Todos os capítulos possuem algum erro de tradução além de erros de semântica, palavras escritas de forma errada ou frases com palavras faltando, e sem consistência de tradução em algumas partes onde partes do código são traduzidas e outras partes o código é mantido em inglês como no original. Com a importância do livro pra área de TI, com certeza a edição e a tradução mereciam um carinho maior.
Profile Image for Eduardo Monteiro.
11 reviews
Read
June 20, 2018
O que eu posso dizer sobre esse livro?

Você começa a ler, não da muito crédito. Então pratica um pouco e seu código ganha mais legibilidade, expressão e personalidade. Ao fim do livro, nota que a melhor documentação de um sistema é o próprio código.

"Escrever um programa é como escrever um bom romance." Agora eu entendo bem o que isso quer dizer. Talvez seja por isso que alguns autores usem a expressão "escrever" no lugar de "codificar". E que alguns gerentes pensem em programadores como "meros escribas", esquecendo que essa área envolve pensamento lógico, criatividade e expressividade.

Pena que esse assunto não seja abordado durante as aulas de algorítmos. Isso despertaria os profissionais para um outro nível, mais pŕoximo do analista e do cliente. Outra coisa que nunca vou esquecer... "Comentários e documentações mentem. E quanto mais antigo, mais mentiroso." :D

Robert C. Martin ganhou um fã. :D
Profile Image for Tiago Teixeira.
32 reviews1 follower
March 9, 2021
Assim como um código limpo, este livro insere as práticas e exemplos aos poucos, um após o outro, costurando uma história e chegando na prática de todas as regras lá no final.

Foi incrível passar por essa experiência, sentindo as ideias surgirem como dúvidas em mim, e depois como explicação no livro. Mais ou menos assim:
- Ele diz que certa prática é errada;
- Eu penso: "Pera ae, sem essa prática não da para fazer o código funcionar!";
- E ele mostra não só como fazer o código funcionar sem a prática ruim, como também é muito melhor, mais saudável e elegante a forma limpa de programar o mesmo sistema;

E então uma coisa particularmente interessante acontece. Eu tenho os meus jogos desenvolvidos da maneira mais "Junior" possível, e depois de ver como se programar de forma limpa, uso esses projetos como cobaia para aprender as práticas. Tem sido muito bom.

Livro inesquecível e importante, recomendo demais!
Profile Image for Ellian Carlos.
10 reviews
June 6, 2022
Um ótimo livro, incrível para programadores iniciantes que querem começar da maneira certa.

Alguns capítulos são mais longos do que deveriam e os exemplos são muito, mas muitos datados, o que faz sentido para um livro tão velho em uma área que muda tanto.

Alguns dos principios do livro não se adaptam ou se transcrevem para os conceitos atuais, muito dos problemas que ele acusa, já sabemos solucionar de forma simples. Mas mesmos estes são úteis para entender históricamente, porque fazemos as coisas desse jeito. Um exemplo é que um programador novo pode não entender porque usamos Injeção e Inversão de Dependência quando criamos um projeto angular, nest ou outro framework, mas no livro entendemos porque codamos desse jeito.

Vale muito a leitura, apesar de ser um pouco cansativa.
6 reviews
August 31, 2020
Bom livre, possui bons insights principalmente sobre se importar. Se importar com o código, com a equipe, com o produto e com o futuro principalmente.
O autor passa dicas de uma pequenas coisas fazem uma enorme diferença entre um código limpa e que como um programador hoje pode evitar que muita gente tenha dor de cabeça no futuro por causa de um código feito as pressas ou sem a devida responsabilidade.
As regras de como nomear variáveis, classes, funções e de como organizar isso são indispensáveis para um bom profissional.
A segunda parte do livro quando vai para excessões, sistemas e concorrências não manteve o nível da primeira parte.
This entire review has been hidden because of spoilers.
Profile Image for Victor Osorio.
Author 10 books3 followers
September 2, 2021
O livro irá tratar de como você deve escrever código. Ele é bom, mas deve ser usado com parcimônia. Uncle Bob é meio extremista em alguns assuntos. Recomendo ler e ser crítico, mas esse é o conselho pra qualquer livro. A melhor parte é sobre nomenclatura, depois de ler eu nunca mais escrevi código como antigamente. Sobre comentários, eu discordo dele.
Profile Image for Sara Guimarães Negreiros.
6 reviews
December 8, 2023
Esse livro apresenta boas práticas para desenvolvimento de código com discussões que englobam importância de nomear corretamente componentes; definição de responsabilidades de classes; estrutura adequada para funções; importância e como definir testes unitários de qualidade; etc.
Ótima leitura para que já domina lógica de programação e quer aprender mais sobre boas práticas.
28 reviews
February 29, 2020
Um livro básico para qualquer profissional focado em programação. Código é sobre gerar valor ao usuário e ao negócio, mas também é sobre ser entendido por outras pessoas, e é neste último aspecto que este livro irá ajudar.
Profile Image for Ari Odolgan.
2 reviews2 followers
May 4, 2021
Um ótimo livro que aborda conceitos fundamentais de boas práticas, não só para quem está começando no ramo da programação mas para quem está disposto a relembrar alguns conceitos que na correria do dia a dia as vezes acabam em esquecimento.
Profile Image for Maria Carolina.
60 reviews
January 26, 2025
é um bom livro, mas deveria chamar Código Limpo de Java, achei que seria mais amplo na programação e não focaria em tanto código Java, que não é a minha área. Mas, em geral, é um bom livro que dá para adaptar para outras linguagens.
Profile Image for Ricardo.
14 reviews
June 8, 2017
Livro que todo programador deveria ler, aprendi muita coisa com ele.
Profile Image for Tiago Pariz Almeida.
11 reviews
September 19, 2022
Leitura essencial para todo o desenvolvedor de software que quer aprender a escrever um código profissional. O código limpo é a melhor forma de manter a organização e clareza de um projeto.
Profile Image for Lucas Moda.
93 reviews2 followers
April 13, 2023
É bom, mas é uma pena que seja tão específico para Java. Se vc ignorar as bizarrices (ou tiver a infelicidade de ser programador Java) da linguagem, tem bastante conteúdo bom. Leia com calma.
22 reviews
January 12, 2024
Prático e objetivo, bem escrito. Ótimo pra quem está começando na área de desenvolvimento.
Profile Image for Pedro Pinho.
32 reviews3 followers
January 23, 2024
Li as partes mais relevantes para mim. É um livro que não concordo 100%, mas com certeza vou voltar em algumas partes para refrescar a memória. Os primeiros 5 capítulos são leituras essenciais.
Profile Image for Kleber Barilli.
20 reviews
February 17, 2024
A ideia do livro não é vc seguir 100% o que autor fala, e sim absorver o que faz sentido pra cada situação.
Profile Image for Matheus Marcolino.
3 reviews
May 26, 2024
A primeira metade é muito útil para todo mundo, já a segunda é mais pra quem curte mais Java
Profile Image for Manoel Campos da Silva Filho.
23 reviews3 followers
July 11, 2015
Leitura obrigatória para quem deseja se tornar um programador realmente profissional. Muitos dos conselhos apresentados no livro são adquiridos apenas ao longo de muitos anos de prática. Além disto, outros precisariam de uma reflexão bem mais ampla sobre a forma como programamos. Tal forma muitas vezes é fruto do meio onde vivemos, as pessoas e local onde trabalhamos, projetos que atuamos, manias, etc. No entanto, o livro traz essa reflexão de forma magistral, apresentando detalhes que muitas vezes não pensamos a respeito.

Acredito ser um livro que deveria ser lido inclusive por alunos que já tenham cursado disciplina de programação orientada a objetos.
Profile Image for Guilherme Cardoso.
2 reviews
January 30, 2013
Divisor de Águas. Acredito que a maioria dos desenvolvedores que leram esse livro também dizem o mesmo. É possível ver claramente a diferença no ACC/DCC (antes e depois de clean code) . O livro mostra a melhor maneira de documentar, que é com o próprio código. Nomes significativos, "contando historinhas" e sem comentários, além de ir de encontro com os conceitos do desenvolvimento ágil.
4 reviews
September 15, 2013
Bom para aprender bastante sobre design de código. Uncle Bob mostra várias boas práticas em orientação a objeto.
Algumas boas práticas foram:
a escolha um bom nome para coisas
diferenças entre OO e programação procedural
a importância de interfaces
testes de unidade e refatoração
problemas com construções de objetos dinamicamente
problemas com concorrência
Profile Image for Hiago Balbino.
6 reviews
April 13, 2023
Ótima leitura! Com certeza é um dos livros que está no topo da minha lista de favoritos. Livro de fácil leitura e faz você refletir em como colocar em prática no dia-a-dia.

Na minha opinião, todo Engenheiro de Software, independente da linguagem que esteja trabalhando deveria ler este livro.
Profile Image for Leonardo Neves.
3 reviews3 followers
May 25, 2014
Best Software Engineering I've ever read / Melhor livro sobre engenharia de software que eu já li
Displaying 1 - 28 of 28 reviews