Terminei de ler este livro há quase 1 mês e não poderia deixar de falar sobre o mesmo. Este definitivamente MERECE.
“Agile Principles, Patterns and Practices in C#” é um livro de mais de 700 páginas, publicado em 2006 e escrito por Robert C. Martin (vulgo, “Uncle Bob”) e seu filho Micah Martin.
Trata-se de uma versão em C# do livro anterior, de nome “Agile Software Development: Principles, Patterns and Practices”. Segundo os autores, esta edição tem como intuito trazer a comunidade .Net mais próxima das boas práticas das metodologias ágeis, design patterns e princípios de OO.
No entanto, este livro pode ser lido por programadores de qualquer linguagem, pois o que importa realmente são os conceitos transmitidos por ele.
O livro está organizado em 4 seções. Na seção 1, temos teoria sobre Agilidade: o manifesto ágil e seus 12 princípios, uma visão geral do XP (Extreme Programming), testes automatizados e refactoring. 100 páginas de Agile para quem quer entender seus conceitos e práticas.
A seção 2 é dedicada ao design de software orientado a objetos. Aqui são quase 200 páginas de princípios de OO (conhecidos atualmente por S.O.L.I.D) e uma boa base de UML. Seção obrigatória para quem quer melhorar a qualidade do seu código, eliminando os “design smells” tão comuns por aí. Tudo bem explicado com muito código C# e diagramas UML.
A seção 3 traz um exemplo prático de uma folha de pagamento. Nesta seção são explicados vários design patterns, como Command, Template Method, Strategy, Facade, entre outros. Depois é explicado o problema, por meio de casos de uso, e uma solução vai sendo construída aos poucos, sempre com muitas ilustrações e código.
Por fim, a seção 4, a maior do livro, com mais de 250 páginas, traz 6 princípios de design de componentes, com boa base sobre métricas de dependência entre componentes, mais alguns design patterns, como Observer e State, e encerra falando um pouco sobre o banco de dados e a camada de apresentação da aplicação da seção 3 (sempre com código). Na camada de apresentação, é demonstrado o padrão MVP (Model-View-Presenter) com Windows Forms. Bem interessante.
Considero este livro um dos melhores livros técnicos que já li. Seu texto é bastante claro, explicando o porquê daquela decisão (e não simplesmente, “faça assim que funciona”), além de ser tranquilo de ler por usar um inglês bem simples.
Altamente recomendado se você:
– Deseja trabalhar com orientação a objetos de verdade
– Quer conhecer mais sobre Agilidade
– Já trabalha com OO e quer melhorar ainda mais a qualidade do seu código
– Se preocupa com o código que escreve
Não desanime com o tamanho do livro. Vá lendo aos poucos. Não irá se arrepender.
5º item – se você não quer virar “J”erente e quer contribuir de alguma forma pra humanidade, deixar o mundo melhor do que estava quando você chegou 🙂
No final do livro, você vai escrever um software de padaria sensacional, ágil, sem code smell e adaptativo para um de locadora ehehehehehehe
Brincadeira meu caro, bom post. Abraços
CurtirCurtir
Valeu!
Este 5º item já está implícito em tudo que falo, falei ou venha a falar
Abraços, camarada!
CurtirCurtir
Excelente livro, recomendo também!
Estou lendo os livros do Uncle Bob de trás pra frente, não por escolha, mas porque comprei ao contrário mesmo hehehe. Li “O Codificador Limpo”, depois “Código Limpo” e agora esta obra prima a qual seu post se refere. Achei as traduções bem fracas, e por incrível que pareça os livros mais novos tem tradução pior do que a do PPP. Recomendo ler em inglês mesmo. Você comprou em uma loja brasileira a versão em inglês? Abraço!
CurtirCurtir
Olá, Fredi
Também não gosto de traduções. 99% dos livros que leio são em inglês. Todos eles peço direto da Amazon.com.
[]s
CurtirCurtir
Excelente livro. Tambem recomendo!
CurtirCurtir
Muito bom o artigo, você me inspirou a ler este livro. Obrigado por isto, acredito que esse livro pode fazer a diferença entre ser um programador profissional ou não. Por favor leiam-no.
CurtirCurtir
Obrigado por comentar, camarada.
Este livro realmente é espetacular. N. 1 na minha lista.
Quem quer ser diferenciado deve ler. Urgente!
[]s
CurtirCurtir