E aí, galera

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.

Fica a dica.

Até!