Os 10 melhores livros para desenvolvedores

Melhorar no campo do desenvolvimento não é apenas escrever um bom código, mas também ler sobre como escrevê-lo.




Oi Habr! Continuo compartilhando seleções úteis. Mais recentemente, publiquei 2 postagens listando repositórios do Github: Parte 1 e Parte 2 . Desta vez, trago à sua atenção uma seleção de livros úteis para desenvolvedores. Quem se importa - bem-vindo ao gato.

Além de todas as bênçãos do mundo moderno - podcasts, vídeos, blogs, etc., ler um bom livro é algo que ainda está em demanda. Eu li muitos bons livros sobre desenvolvimento de tecnologia e software e ainda leio para acompanhar os novos padrões e melhores práticas.

Encontrar ótimos livros para o desenvolvimento de software não é uma tarefa fácil, pois o ecossistema muda tão rapidamente que muitas coisas se tornam obsoletas em pouco tempo. Isto é especialmente verdade para os livros que descrevem uma versão específica de uma linguagem de programação.
No entanto, existem livros “eternos”: eles são dedicados a meta-temas, padrões de design ou conceitos gerais.

A seleção a seguir consiste nos livros mais populares e mais lidos. Livros que ainda são relevantes hoje e que desenvolvedores experientes geralmente recomendam para profissionais iniciantes. Eu sei que o tempo é precioso, especialmente para desenvolvedores. Mas se você pode ler alguns desses livros, isso definitivamente ajudará você e sua carreira. Observe que os livros da lista não são organizados por grau de importância - todos são igualmente recomendados para leitura.

1. Quebrando a entrevista de codificação ou programador de carreira



Eu recomendo este livro a todos aqueles que desejam se preparar completamente para a entrevista. O autor, G. Luckman MacDowell, um engenheiro de software experiente, era entrevistador e candidato. Ela o ensinará a encontrar detalhes ocultos nas perguntas, dividir os problemas em pequenos pedaços e também ajudar a melhorar suas habilidades de aprendizado.

Além disso, o autor nos fornece 189 perguntas reais para a entrevista e suas soluções reais, para que você possa se preparar bem para a próxima entrevista.

2. Código Completo ou Código Perfeito



Este livro de Steve McConnell é um daqueles livros pelos quais todos os programadores provavelmente folhearam pelo menos uma vez na vida.

Esta é uma análise abrangente do design de software, bem escrita e com demanda no setor. O livro aborda tópicos como design, redação de código, depuração e teste.

É provável que este livro seja o investimento mais lucrativo para desenvolvedores com experiência profissional de um a três anos. Mas também recomendo a publicação para iniciantes, pois ajuda no início do desenvolvimento de software.

A principal conclusão: os desenvolvedores devem gerenciar a complexidade e escrever um código fácil de manter e ler para si e para os outros.

3. Código Limpo ou Código Limpo



O livro de Robert Martin (ou do tio Bob), Clean Code, é um dos livros de programação mais populares. Foi escrito para ensinar aos engenheiros de software como escrever código limpo. O livro contém muitos exemplos que mostram como refatorar o código para torná-lo mais legível e sustentável. Mas lembre-se de que a publicação está focada especificamente em Java. Embora alguns dos padrões e técnicas se estendam à programação geral e outras linguagens, o principal público do livro são desenvolvedores de Java.

Cabe destacar também que o livro foi publicado em 2008. Algumas informações, como formatação de código, são menos relevantes hoje devido às ferramentas e IDEs disponíveis. Mas ainda assim, este é um ótimo livro.

4. Refatorando ou aprimorando o design do código existente



A segunda edição do livro de Martin Fowler explica o que realmente é a refatoração, como a primeira edição, lançada há 20 anos. Depois de ler o livro, você encontrará respostas para as seguintes perguntas:

  • Por que preciso refatorar meu código?
  • Como posso reconhecer o código que precisa ser refatorado?
  • Como refatorar com êxito meu código?

Depois de ler este livro, você entenderá o processo em si e os princípios gerais da refatoração, que podem ser aplicados imediatamente ao seu código. Você também aprenderá a detectar cardumes no código do seu companheiro de equipe que exija refatoração.

5. Head A First Design Patterns e Design Patterns



Este livro, com quatro autores ao mesmo tempo, ensina padrões de design e práticas recomendadas usadas por outros desenvolvedores para criar software funcional, reutilizável e flexível. A publicação tem muitas apresentações visuais que ajudarão você a dominar mais facilmente novos conceitos.

Se você quiser aprender sobre coisas como fábricas, singletones, injeção de dependência etc., este livro é uma ótima opção. Os exemplos são escritos em Java, portanto, seria bom saber isso ou qualquer outra linguagem orientada a objetos.

6. Padrões de arquitetura de aplicativos corporativos ou modelos de aplicativos corporativos



Outro ótimo livro de Martin Fowler sobre desenvolvimento de aplicativos corporativos. Após um rápido tutorial, Martin oferece mais de 40 modelos como uma solução para problemas comuns no desenvolvimento de aplicativos corporativos. No livro, você encontrará um grande número de visualizações UML e exemplos de código escritos em Java ou C #.

Depois de ler o livro, você pode dividir os aplicativos corporativos em níveis, conhecer as abordagens básicas para organizar a lógica de negócios, usar modelos MVC para organizar aplicativos da Web e gerenciar o processamento paralelo de várias transações.

No entanto, o livro é bastante antigo, portanto, conceitos modernos como REST, nuvem ou JSON não são mencionados. Este é um bom material para estudar, mas ainda assim seja crítico.

7. Trabalhando efetivamente com o código herdado ou trabalho eficaz com o código herdado



No livro, o autor oferece estratégias para trabalhar com grandes bases de teste descobertas do código legado. Você pode pensar: “2020 é o ano. O código legado não é mais um problema, porque temos códigos e microsserviços limpos e suportados. ” Deixe-me garantir-lhe que isso é um equívoco. O código legado ainda é um dos maiores desafios para muitas empresas.

Depois de ler este livro, você será capaz de entender os mecanismos gerais de alteração de software, por exemplo: adição de recursos, correção de bugs, otimização de desempenho e melhoria do design. Além disso, você aprenderá como preparar o código legado para teste e determinar onde você precisa alterá-lo.

O livro contém exemplos escritos em Java, C ++, C e C # e também contém dicas sobre como trabalhar com código legado, que não está relacionado ao código orientado a objetos.

8. O codificador limpo ou programador perfeito



Outro livro do tio Bob que ensina técnicas, práticas e ferramentas para verdadeiras habilidades de software. Ele contém dicas práticas para avaliar projetos, escrever código, refatorar e testar.

Depois de ler este livro, você aprenderá como lidar com conflitos, horários ocupados e gerentes irracionais; aprenda a lidar com pressão constante e evite o desgaste; aprenda como gerenciar seu tempo, como escrever códigos de alta qualidade e ajudar a criar um ambiente no qual desenvolvedores e equipes possam desenvolver com êxito.

Este livro é bastante popular, mas acho que nem tudo nele é ouro puro. Ele contém muitas histórias da vida e conversas hipotéticas, que na maioria dos casos levam à conclusão de que o desenvolvedor é o principal responsável pelo que faz. Às vezes, essas passagens vão longe demais: em uma dessas passagens, o desenvolvedor cujo código gerou o erro sugere compensar a empresa por perdas financeiras.

Portanto, recomendo que você leia este livro com cuidado e com algumas críticas.

9. Introdução aos Algoritmos ou Algoritmos: Construção e Análise



Esta publicação nada mais é do que um guia obrigatório para vários tipos de algoritmos. O livro é muito amplo e é adequado para iniciantes e profissionais. O material está claramente indicado e revela a essência do problema. Mas, ao mesmo tempo, o livro não é tão simples.

Abrange tópicos como estruturas de dados, algoritmos rápidos, algoritmos polinomiais para problemas difíceis, teoria dos grafos, geometria computacional e muito mais. Embora o livro contenha vários exemplos de pseudo-código, na minha opinião, é muito "teórico".

10. do Programador Pragmático ou Programador Pragmático



Este é um dos livros mais sérios que eu já li. A publicação está cheia de dicas práticas técnicas e profissionais que me ajudaram em muitos projetos e me ajudaram a melhorar como desenvolvedor.

O livro é muito relevante mesmo em 2020, especialmente na última edição. Aqui, o autor analisa o que significa ser um desenvolvedor moderno, explora vários tópicos: da responsabilidade pessoal e do crescimento da carreira às técnicas arquitetônicas.

Depois de ler o livro, você entenderá o que é a aprendizagem contínua e como é importante; aprenda a escrever códigos flexíveis, adaptáveis ​​e dinâmicos, como resolver problemas competitivos, como proteger a segurança, como testar "de forma implacável e eficaz" e muito mais.

Se eu escolhesse apenas um livro para aconselhá-lo, eu escolheria este!

Conclusão


Era uma lista de alguns dos livros mais populares para desenvolvedores. O melhor da lista, na minha opinião, é o “Programador Pragmático” de E. Hunt e D. Thomas. Os livros de Robert S. Martin são procurados e populares entre muitos desenvolvedores, mas eu aconselho você a ser crítico na leitura deles, pois discordo do tio Bob em muitos assuntos.

Certamente, você já leu muitos desses livros, ou pelo menos os segurou em suas mãos, ou pelo menos os viu na Internet. Como o autor do artigo colocou, esses são livros “eternos” dedicados ao básico. Se você tem algo para complementar a lista - compartilhe nos comentários, acho que será útil para todos.

All Articles