Segue uma pequena lista de livros que a leitura pode beneficiar qualquer desenvolvedor de software. Divirta-se!
Código Limpo: Habilidades Práticas do Agile Software
(Clean Code: A Handbook of Agile Software Craftsmanship), Robert Martin
A manutenibilidade é, sem dúvida, o aspecto mais importante de um bom
software. Se você não entende o porquê, leia este livro. De convenções
de nomenclatura até os princípios OO, "Tio Bob" Martin abrange todo o
território de forma fragmentada e fácil. “Código limpo” é fácil de ler,
mas cheio de grandes ideias e discussões abrangentes sobre o tema OO.
Vale lembrar que, se você está procurando padrões de codificação para seguir, este livro pode ser a resposta.
The Art of Unit Testing (A Arte do Teste Unitário), Roy Osherove
Durante muito tempo, meu entendimento do que era um teste unitário se
resumia a “o que quer que seja que um desenvolvedor faz logo após
terminar a codificação, mas antes de entregá-la para o setor de
qualidade". Coisas que caíram nessa categoria variaram de um pequeno EXE
para executar algumas entradas de testes, até mexer num app até que eu
ficasse satisfeito com ele (ou entediado pelo processo).
Ler “A Arte do Teste Unitário” foi uma experiência de alerta. Tenho
recomendado este livro para um monte de gente e a resposta que costumo
receber é: "uau, eu não tinha ideia de que havia muito para saber sobre
testes unitários". Se você já se perguntou o que era uma imitação ou por
que há tantas interfaces de projetos C#, leia este livro.
Use a Cabeça! – Padrões de Projetos
(Head First Design Patterns), Eric Freeman
O primeiro livro de padrões de projetos que eu (e provavelmente todos os outros nerds) li foi, naturalmente, o Gang of Four. Quero dizer, é O livro sobre o assunto.
Bem, para ser sincero, esse livro não é uma leitura fácil (por favor,
tente conter seus suspiros). Por quê? Porque, às vezes, fica muito
acadêmico (quase denso, alguns poderiam dizer) e os exemplos que ele usa
podem ser considerados um tanto quanto antigos (ok, ele faz,
repetidamente, referências a softwares que não existem desde os anos
oitenta - não que haja algo de errado com isso). Ser denso e retrô podem
funcionar para Tolstoi, mas ele não funciona bem com padrões de
projetos.
Esse livro tem uma abordagem muito diferente. Ele se esforça muito
para fazer com que os padrões de projetos sejam fáceis de entender - e
consegue a maior parte do tempo. É bastante divertido, flui bem, tem
bons exemplos e gasta uma boa quantidade de tempo nas melhores práticas
de OO, além de padrões de projetos. Se você estiver procurando por
padrões de projetos grok, sem todas aquelas frescuras, dê a esse livro
uma chance!
Working Effectively with Legacy Code
(Trabalhando efetivamente com código legado), Michael Feathers
Poucas coisas provocam mais reações negativas nos desenvolvedores do
que as palavras "código legado". Temos muitas maneiras de descrever
códigos legados e os seus males ( código spaghetti, grande bola de lama,
Windows Vista, etc). Para Michael Feathers, o código legado significa
um código sem testes. Independente se você concorda com esta definição,
ou não, você pode, definitivamente, aprender com ele sobre como lidar
com código legado. Há um monte de coisas interessantes neste livro (o
capítulo sobre as costuras do objeto por si só vale a leitura).
Se você já teve que olhar o mal nos olhos (e por “mal” eu quero dizer
1.500 linhas da função Page_OnLoad), você sabe que vai precisar de
todas as ferramentas que o homem conhece para trabalhar com ele. Este
livro tem um bom número dessas ferramentas. Boa sorte e que a força
esteja com você!
Programação Extrema Explicada: Acolha as Mudanças
(Extreme Programming Explained), Kent Beck
Kent Beck inventou a programação extrema (eu acho) e isso o torna qualificado para explicar o conceito. Duas vezes.
Falando sério, este é um grande livro: curto, fácil e direto. Se tudo
o que você consegue pensar é "programação em par", quando você ouve
"XP", leia este livro. Além disso, se tudo que você pode pensar é
"alguém em minha grade durante todo o dia" quando você ouve "programação
em par", leia este livro.
Por último, um mais antigo, mais ainda sim muito bom:
O Mítico Homem-Mês
(The Mythical Man-Month), Frederick Brooks
Eu não posso pensar em muitos livros que sejam, ao mesmo tempo,
modernos e pitorescos. Por um lado, as observações de Brooks sobre a
natureza do desenvolvimento de software são notavelmente perspicazes e
relevantes. Por exemplo, a sua explicação sobre as dificuldades
essenciais enfrentadas pelos desenvolvedores é incrivelmente verdadeira.
Ele também abraçou, surpreendentemente, o desenvolvimento iterativo (na
década de 70!). Por outro lado, há o capítulo sobre a estrutura das
equipes de programação (equipe cirúrgica).
Se você for ler O Mítico Homem-Mês, por favor obter a edição
atualizada. Brooks acrescentou alguns capítulos excelentes que continuar
a desenvolver suas ideias originais. Coisas fascinantes.
Artigo original disponível em: http://tatiyants.com/reading-for-devs/
Créditos: Alex Tatiyants
0 comentários:
Postar um comentário