Top 10 des livres pour développeurs

Améliorer dans le domaine du développement, ce n'est pas seulement écrire du bon code, mais aussi lire comment l'écrire.




Salut, Habr! Je continue de partager des sélections utiles. Plus récemment, j'ai publié 2 articles répertoriant les référentiels Github: Partie 1 et Partie 2 . Cette fois, je porte à votre attention une sélection de livres utiles pour les développeurs. Peu importe - bienvenue au chat.

En plus de toutes les bénédictions du monde moderne - podcasts, vidéos, blogs, etc., la lecture d'un bon livre est toujours demandée. J'ai lu de nombreux bons livres sur la technologie et le développement de logiciels, et je lis toujours pour me tenir au courant des nouveaux modèles et des meilleures pratiques.

Trouver de bons livres pour le développement de logiciels n'est pas une tâche facile, car l'écosystème change si rapidement que beaucoup de choses deviennent obsolètes en peu de temps. Cela est particulièrement vrai pour les livres qui décrivent une version spécifique d'un langage de programmation.
Cependant, il existe des livres «éternels»: ils sont consacrés à des méta-thèmes, des modèles de conception ou des concepts généraux.

La sélection suivante comprend les livres les plus populaires et les plus lus. Des livres qui sont toujours d'actualité et que les développeurs expérimentés recommandent souvent aux professionnels débutants. Je sais que le temps est précieux, surtout pour les développeurs. Mais si vous pouvez lire certains de ces livres, cela vous aidera certainement ainsi que votre carrière. Veuillez noter que les livres de la liste ne sont pas classés par degré d'importance - ils sont tous également recommandés pour la lecture.

1. Déchiffrer l'entrevue de codage ou le programmeur de carrière



Je recommande fortement ce livre à tous ceux qui veulent bien se préparer pour l'entretien. L'auteur, G. Luckman MacDowell, un ingénieur logiciel expérimenté, était à la fois un intervieweur et un candidat. Elle vous apprendra à trouver des détails cachés dans les questions, à diviser les problèmes en petits morceaux et à améliorer vos compétences d'apprentissage.

De plus, l'auteur nous fournit 189 vraies questions pour l'entretien et leurs vraies solutions afin que vous puissiez bien vous préparer pour le prochain entretien.

2. Code complet ou code parfait



Ce livre de Steve McConnell est l'un de ces livres que chaque programmeur a probablement feuilleté au moins une fois dans sa vie.

Il s'agit d'une analyse complète de la conception de logiciels, bien écrite et en demande dans l'industrie. Le livre couvre des sujets tels que la conception, l'écriture de code, le débogage et les tests.

Ce livre est probablement l'investissement le plus rentable pour les développeurs ayant une expérience professionnelle d'un à trois ans. Mais je recommande également la publication aux débutants, car elle aide au début du développement logiciel.

La principale conclusion: les développeurs doivent gérer la complexité et écrire du code facile à maintenir et à lire pour eux-mêmes et pour les autres.

3. Code propre ou code propre



Le livre de Robert Martin (ou de l'oncle Bob), Clean Code, est l'un des livres de programmation les plus populaires. Il a été écrit pour enseigner aux ingénieurs logiciels comment écrire du code propre. Le livre contient de nombreux exemples montrant comment refactoriser le code pour le rendre plus lisible et plus facile à gérer. Mais gardez à l'esprit que la publication se concentre spécifiquement sur Java. Bien que certains modèles et techniques s'étendent à la programmation générale et à d'autres langages, le principal public du livre est les développeurs Java.

Il convient également de noter que le livre a été publié en 2008. Certaines informations, telles que le formatage du code, sont moins pertinentes aujourd'hui en raison des outils et des IDE disponibles. Mais quand même, c'est un excellent livre.

4. Refactorisation ou amélioration de la conception du code existant



La deuxième édition du livre de Martin Fowler explique ce qu'est vraiment le refactoring, tout comme la première édition, publiée il y a 20 ans. Après avoir lu le livre, vous trouverez des réponses aux questions suivantes:

  • Pourquoi dois-je refactoriser mon code?
  • Comment reconnaître le code qui doit être refactorisé?
  • Comment puis-je refactoriser mon code avec succès?

Après avoir lu ce livre, vous comprendrez le processus lui-même et les principes généraux de la refactorisation, que vous pouvez appliquer immédiatement à votre code. Vous apprendrez également à détecter les hauts-fonds dans le code de votre coéquipier qui nécessitent une refactorisation.

5. Head A First Design Patterns et Design Patterns



Ce livre, qui a 4 auteurs à la fois, vous enseigne les modèles de conception et les meilleures pratiques utilisés par d'autres développeurs pour créer des logiciels fonctionnels, réutilisables et flexibles. La publication contient de nombreuses présentations visuelles qui vous aideront à maîtriser plus facilement de nouveaux concepts.

Si vous voulez en savoir plus sur des choses comme les usines, les singletones, l'injection de dépendance, etc., ce livre est un excellent choix. Les exemples sont écrits en Java, donc ce serait bien de le savoir, ou tout autre langage orienté objet.

6. Modèles d'architecture d'application d'entreprise ou de modèles d' application d'entreprise



Un autre grand livre de Martin Fowler sur le développement d'applications d'entreprise. Après un rapide tutoriel, Martin vous propose plus de 40 modèles comme solution aux problèmes courants de développement d'applications d'entreprise. Dans le livre, vous trouverez un grand nombre de visualisations UML et d'exemples de code écrits en Java ou C #.

Après avoir lu le livre, vous pouvez diviser les applications d'entreprise en niveaux, connaître les approches de base de l'organisation de la logique métier, utiliser des modèles MVC pour organiser les applications Web et gérer le traitement parallèle de plusieurs transactions.

Cependant, le livre est assez ancien, donc les concepts modernes comme REST, cloud ou JSON ne sont pas mentionnés. C'est un bon matériel à étudier, mais il faut tout de même le critiquer.

7. Travailler efficacement avec le code hérité ou Travailler efficacement avec le code hérité



Dans le livre, l'auteur propose des stratégies pour travailler avec de grandes bases de test non couvertes de code hérité. Vous pourriez penser: «2020 est l'année. Le code hérité n'est plus un problème, car nous avons du code et des microservices propres et pris en charge. » Permettez-moi de vous assurer qu'il s'agit d'une idée fausse. Le code hérité reste l'un des plus grands défis pour de nombreuses entreprises.

Après avoir lu ce livre, vous serez en mesure de comprendre les mécanismes généraux de changement de logiciel, par exemple: ajouter des fonctionnalités, corriger des bogues, optimiser les performances et améliorer la conception. En outre, vous apprendrez à préparer le code hérité pour les tests et à déterminer où vous devez le modifier.

Le livre contient des exemples écrits en Java, C ++, C et C #, et il contient également des conseils sur l'utilisation du code hérité, qui n'est pas lié au code orienté objet.

8. Le codeur propre ou le programmeur parfait



Un autre livre de l’oncle Bob qui enseigne les techniques, les pratiques et les outils pour de véritables compétences logicielles. Il contient des conseils pratiques sur l'évaluation des projets, l'écriture de code, la refactorisation et les tests.

Après avoir lu ce livre, vous apprendrez à gérer les conflits, les horaires chargés et les gestionnaires irrationnels; apprendre à faire face à une pression constante et à éviter l'épuisement professionnel; Apprenez à gérer votre temps, à écrire du code de haute qualité et à créer un environnement dans lequel les développeurs et les équipes peuvent se développer avec succès.

Ce livre est assez populaire, mais je pense que tout n'est pas en or pur. Il contient de nombreuses histoires de la vie et des conversations hypothétiques, ce qui conduit dans la plupart des cas à la conclusion que le développeur est ultimement responsable de ce qu'il fait. Parfois, ces passages vont trop loin: dans l'un de ces passages, le développeur dont le code a généré l'erreur suggère de compenser l'entreprise pour les pertes financières.

Par conséquent, je vous conseille de lire ce livre attentivement et avec quelques critiques.

9. Introduction aux algorithmes ou algorithmes: construction et analyse



Cette publication n'est rien d'autre qu'un guide obligatoire de différents types d'algorithmes. Le livre est très large et convient aussi bien aux débutants qu'aux professionnels. Le matériel est clairement énoncé et révèle l'essence du problème. Mais en même temps, le livre n'est pas assez simple.

Il couvre des sujets tels que les structures de données, les algorithmes rapides, les algorithmes polynomiaux pour les problèmes difficiles, la théorie des graphes, la géométrie informatique et bien plus encore. Bien que le livre contienne plusieurs exemples de pseudo-code, à mon avis, il est très «théorique».

10. du programmeur pragmatique ou programmeur pragmatique



C'est l'un des livres les plus sérieux que j'aie jamais lus. La publication regorge de conseils pratiques à la fois techniques et professionnels qui m'ont aidé dans de nombreux projets et qui m'ont aidé à devenir meilleur en tant que développeur.

Le livre est très pertinent même en 2020, en particulier la dernière édition. Ici, l'auteur analyse ce que signifie être un développeur moderne, explore divers sujets: de la responsabilité personnelle et de l'évolution de carrière aux techniques architecturales.

Après avoir lu le livre, vous comprendrez ce qu'est l'apprentissage continu et son importance; Apprenez à écrire du code flexible, adaptable et dynamique, à résoudre des problèmes de concurrence, à protéger la sécurité, à tester «impitoyablement et efficacement», et bien plus encore.

Si je devais choisir un seul livre pour vous conseiller, je choisirais celui-ci!

Conclusion


C'était une liste de certains des livres les plus populaires pour les développeurs. Le meilleur de la liste, à mon avis, est le «programmeur pragmatique» d'E. Hunt et D. Thomas. Les livres de Robert S. Martin sont en demande et populaires auprès de nombreux développeurs, mais je vous conseillerais d'être critique dans leur lecture, car je ne suis pas d'accord avec l'oncle Bob sur de nombreuses questions.

Vous avez sûrement déjà lu bon nombre de ces livres, ou du moins les avez tenus entre vos mains, ou du moins les avez vus sur Internet. Comme le dit l'auteur de l'article, ce sont des livres «éternels» qui sont consacrés aux bases. Si vous avez quelque chose à compléter la liste - partagez dans les commentaires, je pense que cela sera utile à tout le monde.

All Articles