Bien que vous essayiez toujours d’éliminer les bugs, ils apparaissent dans pratiquement tous les projets de développement, pour diverses raisons. Alors, comment réagir lorsque votre logiciel cesse de se comporter comme vous l’attendez ? Quel process suivre pour signaler un bug et le réparer ? Comment s'attaquer à sa cause initiale, pour de bon ? Le debug, lorsqu’il est bien effectué, est un process scientifique piloté par des tests qui vous aide à comprendre un bug et à éviter qu’il se reproduise.
Ce cours vous emmènera en voyage en partant du rapport de bug, et à travers une myriade d’outils, y compris un débugger Java, VisualVM, et JConsole.
Vous utiliserez un débugger Java pour investiguer et examiner une JVM en exécution jusqu’à avoir trouvé la cause d’un bug complexe. Vous apprendrez à mettre en place des points d’arrêt conditionnels, à faire progresser et inverser le flux d’exécution, à inspecter les valeurs changeantes, et à tester des théories pour résoudre le mystère d’un bug difficile à comprendre.
Vous utiliserez VisualVM pour répondre à un rapport portant sur une application lente et identifier le point sensible de votre code qui la ralentit. Vous utiliserez JConsole pour inspecter les métriques JMX d’une application Spring, afin d’examiner une application de production en exécution, et vous rendrez même ses rapports plus communicatifs sans la relancer.
Avez-vous déjà enquêté sur un problème au sein de votre code en utilisant des déclarations print ? Eh bien, vous allez apprendre comment éviter cette pratique et obtenir un résultat similaire, mais plus efficient, en utilisant la log SLF4J et en mettant en place des niveaux de log significatifs.
Rencontrez vos professeurs :
Le développement avec le langage Java est ma spécialité technique. Je suis adepte de la programmation objet, des méthodes de conception logicielles et je suis convaincu de l’importance d’une gestion de projet efficiente.
Passionné par la transmission de connaissances et compétences, j’ai une véritable vocation pour l’enseignement et le mentorat, que je pratique d’ailleurs depuis plusieurs années chez OpenClassrooms. Je sais à quel point rechercher la cause d'un bug peut être source de frustration et de perte de temps. Je suis convaincu que les méthodologies de débug peuvent considérablement vous aider à gagner en efficacité. Je suis très heureux de vous accompagner dans ce cours, inspiré de cette version anglaise de Raf Gemmail.
J’ai fait mes preuves en tant que leader technique, coach Agile, architecte de solutions, et polyglotte fullstack avec une spécialisation Java. Mon état d’esprit est orienté résultats et clients, et j’ai pu au cours de mes expériences aider aussi bien de petites entreprises que des organisations bien connues à concevoir et délivrer des solutions à fort impact et impliquant intensément les données.
J’ai passé ma vie à développer des logiciels, et j’ai eu la chance de travailler avec des organisations comme la BBC et Booking.com. J’ai guidé et coaché de nombreux développeurs au long de leur parcours pour devenir des propriétaires responsables de leur code, qui célèbrent les bugs comme des opportunités d’apprentissage, et font de leur élimination une partie intégrante du process vers la livraison itérative d’un produit de haute qualité. La découverte d’un bug constitue une opportunité d’amélioration. J’ai hâte de vous aider à commencer vous aussi.