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.
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.
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.
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.
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.
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.
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
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!
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.
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.
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.
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.
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.
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.
é 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.
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.
É 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.
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.
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.
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.
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
Ó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.