Une diffusion de livres incontournables pour les professionnels de Java :
Chaque programmeur a des livres qui sont souvent épuisés car ils sont souvent appelés matériaux professionnels. Les livres suivants devraient être un incontournable sur la bibliothèque des programmeurs de langage Java. Les livres sont chers, donc je fais intentionnellement cette liste courte et limitée à des livres importants.
Penser à Java (Bruce Eckel)
Penser à Java, 3e édition (Bruce Eckel; Prentice Hall Ptr, 2002)
Réflexions de programmation Java : 3e édition (traduite par Chen Haopeng et al.; Machinery Industry Press, 2005)
Le livre d' Eckel est très utile pour apprendre à utiliser la technologie orientée objet dans un lieu de Java. Un grand nombre d'exemples de code dans le livre expliquent le concept qu'il a présenté. Le texte vient de quelqu'un qui ne pense pas que la technologie Java est toujours la bonne réponse, donc c'est assez pratique. Eckel a beaucoup d'expérience en plusieurs langues et de solides compétences à penser d'une manière orientée objet. Ce livre met ces compétences dans un lieu pratique de Java. Il écrit également un nouveau livre intitulé Thinking in Enterprise Java.
Java efficace (Joshua Bloch)
Java efficace: Guide du langage de programmation (Joshua Bloch; Addison-Wesley, 2001)
Version chinoise Java efficace (traduite par Pan Aimin; Machinery Industry Press, 2003)
Ce livre est le meilleur livre pour comprendre les principes d'une excellente programmation Java. La plupart des documents ne se trouvent tout simplement pas dans d'autres livres sur "l'apprentissage de Java". Par exemple, le chapitre sur l'écrasement Equals () dans le livre de Bloch est l'une des meilleures références que j'ai jamais lues. Il a également inclus des suggestions très pratiques dans le livre: remplacer les classes abstraites par des interfaces et utiliser des exceptions de manière flexible. Bloch est l'architecte de la bibliothèque de plate-forme Java de Sun, il a donc une compréhension approfondie de la langue. En fait, il a écrit un grand nombre de bibliothèques utiles dans la langue. Doit lire ce livre!
Le langage de programmation Java (Ken Arnold, James Gosling, David Holmes)
Le langage de programmation Java (Ken Arnold, James Gosling, David Holmes; Addison-Wesley, 2000)
Langue de programmation Java (3e édition) (traduit par Yu Wanrong et al., China Electric Power Press, 2003)
C'est peut-être la meilleure introduction Java. Ce n'est pas une spécification standard, mais un livre lisible qui introduit les caractéristiques de chaque langue. Le livre pèse rigoureusement et scolaire, permettant aux programmeurs d'être rapidement attirés par la langue Java (et sa riche bibliothèque).
Programmation simultanée en Java: principes et motifs de conception (Doug Lea)
Programmation simultanée en Java: Principes et modèles de conception, 2e édition (Doug Lea; Addison-Wesley, 1999)
Java Programmation simultanée - Principes et modèles de conception (deuxième édition) (traduit par Zhao Yong et al., China Electric Power Press, 2004)
Tous les développeurs n'ont pas besoin d'avoir une compréhension aussi méticuleuse de la concurrence, et tous les ingénieurs ne peuvent pas atteindre le niveau de ce livre, mais il n'y a pas de meilleur aperçu de la programmation de concurrence que ce livre. Si cela vous intéresse, commencez ici. Lea est un programmeur professionnel chez SUNY, et ses œuvres et ses idées liées à la concurrence sont incluses dans la spécification JDK 5.0 (citée à partir de JSR166), vous pouvez donc être assuré que ses conseils sur l'utilisation efficace de Java méritent d'être écoutés. C'est une très bonne personne de communication.
Expert en tête-à-tête conception et développement (Rod Johnson)
Expert en tête-à-tête conception et développement (Rod Johnson)
Wrox: Guide de programmation de conception et de développement J2EE (traduit par Wei Haiping, Electronics Industry Press, 2003)
Pour ceux qui sont nouveaux sur J2EE, c'est le seul livre qui reflète vraiment cette technologie. Ce livre contient des années de succès et d'expérience en échec. Contrairement à de nombreux autres auteurs, Johnson est heureux de rendre l'expérience d'échec publique. J2EE est souvent surutilisé. Le livre de Johnson peut vous aider à éviter cela.
Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)
Refactorisation: Amélioration de la conception du code existant (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts;
Addison-Wesley, 1999)
Refactorisation: Amélioration de la conception du code existant (version chinoise) (traduit par Hou Jie et al., China Electric Power Press, 2003)
Fowler a écrit plusieurs des livres de programmation les plus populaires qui ont été publiés maintenant, y compris les modèles d'analyse. Son livre sur la reconstruction est le livre de base sur ce sujet. Le code de refactorisation est une formation qui est ignorée par les programmeurs, mais c'est l'idée la plus intuitive pour les programmeurs. Le refactorisation est d'améliorer la conception du code existant sans modifier les résultats du code. C'est la meilleure façon de garder votre code bien rangé, et le code conçu de cette manière est toujours facile à modifier. Quand sera-t-il refactorisé? Lorsque le code "se sent un goût". Le livre de Fowler est plein d'exemples de code de langue Java. De nombreux environnements de développement intégrés en langue Java (IDE) (y compris l'éclipse d'IBM) incluent la reconstruction de Fowler, et chacune est nommée avec son nom de reconstruction, il vaut donc la peine d'être familiarisé avec les méthodes de reconstruction telles que la méthode d'extrait.
Modèles de conception (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)
Modèles de conception: éléments du logiciel réutilisable orienté objet (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; Addison-Wesley, 1997)
Modèle de conception: les bases du logiciel réutilisable orienté objet (traduit par Li Yingjun et al., Machinery Industry Press, 2005)
Il s'agit d'un livre plus célèbre dans le cercle des programmeurs professionnels. Sur la base du surnom commun de l'auteur, ce livre est considéré comme le "livre Gang of Four (GoF)". Les modèles sont un moyen de réutiliser lorsqu'ils réfléchissent et la résolution de problèmes de programmation ordinaires. Le modèle d'apprentissage est un sujet. Utiliser de bons modes (ou savoir quand ne pas les utiliser) est une compétence. Ignorer le motif est faux. Tous les exemples du livre sont représentés en C ++, mais le langage Java est né de là, il est donc relativement simple de connecter les programmeurs de langage Java à la façon d'implémenter ces modèles dans le langage Java. Familiez-vous avec les modèles et comprenez comment utiliser de bons modèles pour faciliter la programmation. Cela facilite également la communication avec d'autres programmeurs, car dans une solution générale à des problèmes courants, les modèles sont des raccourcis pour décrire un grand nombre de concepts de programmation connexes dans la solution qui collabore les uns avec les autres. Certaines méthodes plus générales, telles que les méthodes d'usine, existent en général et existent même dans la langue Java elle-même. Pour le sujet de l'utilisation de modèles avec une utilisation judicieux, vous pouvez également lire le refactorisation de Joshua Kerievsky aux modèles, qui indique que vous pouvez laisser le code vous dire quand implémenter des modèles.
Modèles d'architecture d'application d'entreprise (Martin Fowler)
Modèles d'architecture d'application d'entreprise (Martin Fowler; Addison-Wesley, 2002)
Modèle d'architecture d'application d'entreprise (traduit par Wang Huainin et al., Machinery Industry Press, 2004)
Par rapport aux projets petits et ponctuels, le développement d'entreprise représente certainement un plus grand défi. Cela ne signifie pas que tous les défis relevés par le développement des entreprises sont de nouveaux défis. En fait, parfois, ce développement a déjà été achevé. Fowler a réalisé de nombreux projets de ce type. Son livre mentionne certaines solutions générales et fournit des conseils sur l'utilisation, les compromis et les options. Fowler comprend des modèles familiers dans le livre, tels que Model View Controller (MVC), et il fournit également des modèles que vous ne comprenez peut-être pas, tels que le mode de contrôleur de page qui gère des demandes de page ou des demandes de comportement spécifiques sur un site Web. Lorsque vous traitez la plupart des modes, une fois que vous avez lu de nombreux modes, vous pensez "Je connais déjà ce mode". C'est peut-être le cas, mais il est utile d'avoir une expression commune pour les modèles de référence. Cette classe de références est d'une grande aide dans de grands projets avec plusieurs composants (développés par différentes personnes).
UML Distillé (Martin Fowler)
UML Distillé: un bref guide du langage de modélisation des objets standard (Martin Fowler; Addison-Wesley 2003)
UML ESSENCE: Un bref guide du langage des objets standard (3e édition) (traduit par Xu Jiafu, Tsinghua University Press, 2005)
Pour les programmeurs professionnels, l'UML est un langage de communication visuel universel important, mais il est surutilisé et hâtif. Vous n'avez pas besoin de savoir beaucoup sur l'utilisation de la communication UML. Le raffinement de Martin de l'UML vous offre le plus de base. En fait, les pages de couverture avant et arrière fournissent tout ce que vous pourriez utiliser régulièrement. Le code pour les exemples UML dans ce livre est le code Java.
Développement axé sur les tests: par exemple (Kent Beck)
Développement axé sur les tests: par exemple (Kent Beck; Addison-Wesley 2002)
Développement axé sur les tests (version chinoise) (traduit par Cui Kai, China Electric Power Press, 2004)
La programmation de test d'abord révolutionnera la programmation et vous aidera à devenir un meilleur programmeur. Il est difficile de rédiger un test avant d'écrire de code, mais c'est une compétence puissante. En priorisant les tests, le code peut être rendu plus simple et s'assurer qu'il fonctionne depuis le début (Beck a pratiqué sa priorité de test préconisée, co-écrit Junit, le cadre de test le plus populaire pour Java). Le livre de Beck est une référence faisant autorité, et les exemples en argent prolongé sont également écrits en Java. Beck détaille comment réfléchir avec la priorité du test (qui peut être le premier obstacle que de nombreux programmeurs rencontrent).
Le programmeur pragmatique: du compagnon au maître (Andy Hunt et Dave Thomas)
The Pragmatic Programmer: de Journeyman to Master (Andrew Hunt et David Thomas; Addison-Wesley 1999)
La façon de pratiquer les programmeurs - des petits travailleurs aux experts (traduit par Mavida, Electronics Industry Press, 2004)
Être un développeur pur orienté objet a ses avantages . Dans la société complexe d'aujourd'hui, en tant que développeur de langue Java, vous devez souvent faire des compromis pour effectuer vos tâches. Chasser et
Thomas explore comment effectuer des tâches sans compromettre ce qui compte vraiment. Ce n'est pas un livre sur la langue java, mais une pensée importante de lecture pour les développeurs de la langue Java. Par exemple, je ne pense pas que les programmeurs qui bénéficient des conseils honnêtes de "résoudre des problèmes, et non de la responsabilité de frisson" ne peuvent pas signer un nom célèbre sur son chef-d'œuvre comme un fier artiste.
Sweware populaire: projets productifs et équipes (Tom DeMarco et Timothy Lister)
Sweware populaire: projets productifs et équipes (Tom DeMarco, Timothy Lister; Dorset House, 1999)
Documents personnels (2e édition) (Umlchina Translation Group, Tsinghua University Press, 2003)
Tous les autres livres sur cette liste sont au moins quelque peu liés à la technologie. Ce livre ne l'est pas. Dans l'océan de tous les jargons techniques et acronymes, parfois les développeurs de logiciels et les gestionnaires oublient: ce sont les gens qui ont fait le logiciel. DeMarco et Lister nous rappellent ce fait et aussi les raisons de cette différence. Ce n'est pas un livre sur un langage de programmation spécifique, mais c'est un livre que chaque programmeur de langage Java devrait lire. Il existe de nombreux autres bons livres sur «Comment les programmeurs épuisés font que les gestionnaires se retournent», mais c'est le meilleur.
Apprendre la langue java commence bien par la lecture!