1 00:00:02,470 --> 00:00:08,350 Lorsque nous parlons de débogage, il est important de comprendre ce qui pourrait mal tourner et dans quelles 2 00:00:08,350 --> 00:00:13,150 situations vous pourriez vouloir déboguer votre code ou éviter les erreurs et la chose 3 00:00:13,150 --> 00:00:18,700 la plus évidente qui peut mal tourner est que votre application plante ou que vous obtenez un 4 00:00:18,700 --> 00:00:20,760 Message d'erreur. En développement, 5 00:00:20,770 --> 00:00:28,120 c'est cette boîte rouge qui recouvre votre application que nous avons déjà vue dans ce cours et ces messages d'erreur sont bien 6 00:00:28,120 --> 00:00:32,330 sûr un signe clair que quelque chose ne va pas avec votre code. 7 00:00:32,650 --> 00:00:40,060 Les erreurs logiques sont plus subtiles que cela. Dans vos applications, vous aurez certainement à un moment donné un comportement 8 00:00:40,480 --> 00:00:46,540 qui pourrait ne pas avoir de sens pour vous ou où quelque chose ne fonctionne tout simplement pas comme il devrait fonctionner. 9 00:00:46,570 --> 00:00:51,830 Vous n'obtenez pas d'erreur, mais votre application se comporte mal, elle fonctionne de 10 00:00:51,910 --> 00:00:52,680 manière 11 00:00:52,750 --> 00:00:58,370 incorrecte et généralement, vous avez des erreurs logiques quelque part à l'origine de cela. 12 00:00:58,370 --> 00:01:02,470 Et enfin et surtout, vous avez votre interface utilisateur, votre style, votre mise en 13 00:01:02,470 --> 00:01:06,470 page, l'expérience utilisateur que vous souhaitez créer et peut-être que c'est éteint, peut-être 14 00:01:06,490 --> 00:01:13,270 que vous avez quelque chose qui n'a tout simplement pas l'air ni la sensation qu'il devrait avoir. et c'est aussi quelque chose qui 15 00:01:13,270 --> 00:01:19,000 peut mal tourner et que vous voulez éviter. Maintenant, des exemples typiques de messages d'erreur ou 16 00:01:19,000 --> 00:01:26,830 de causes de messages d'erreur sont des erreurs de syntaxe où vous avez simplement une faute de frappe dans votre code ou où 17 00:01:26,830 --> 00:01:32,140 vous avez oublié une accolade fermante, quelque chose comme ça, mais aussi simplement des bogues 18 00:01:32,140 --> 00:01:37,000 dans votre code, donc par exemple une ligne de code où vous utilisez une 19 00:01:37,000 --> 00:01:43,990 valeur que vous n'avez jamais définie, vous essayez par exemple de calculer quelque chose avec une valeur indéfinie ou d'analyser une 20 00:01:43,990 --> 00:01:46,290 chaîne qui n'est en fait pas 21 00:01:46,420 --> 00:01:54,030 définie, quelque chose comme ça, qui entraînerait généralement également des erreurs. Et puis vous avez un type d'erreur particulier et ce sont 22 00:01:54,060 --> 00:01:56,490 des erreurs inévitables comme j'aime les appeler. 23 00:01:56,520 --> 00:02:01,230 Maintenant, cela ne signifie pas que ce sont des erreurs que vous ne pouvez pas éviter parce 24 00:02:01,230 --> 00:02:02,190 que vous n'êtes 25 00:02:02,250 --> 00:02:08,760 pas assez bon en tant que développeur, mais plutôt des erreurs qui pourraient résulter de votre demande de réseau et des utilisateurs de votre 26 00:02:08,790 --> 00:02:15,570 application n'ayant pas de connexion réseau. ou que vous écrivez dans le système de fichiers et que cet accès est en quelque sorte bloqué, vous 27 00:02:15,570 --> 00:02:23,430 ne pouvez donc pas être sûr que cela n'échouera jamais lorsque les utilisateurs utilisent votre application, car vous ne pouvez pas contrôler la façon dont ils utilisent votre application 28 00:02:23,640 --> 00:02:29,580 ou dans quelles circonstances. ils utilisent votre application et pour de telles erreurs, vous pouvez également trouver des stratégies où vous 29 00:02:29,580 --> 00:02:36,030 ne pouvez pas éviter l'erreur mais où vous pouvez la gérer. Maintenant, pour les erreurs logiques, un exemple typique serait 30 00:02:36,040 --> 00:02:42,270 que vous avez un comportement d'application indésirable ou inattendu et que vous voulez bien sûr vous en débarrasser, que 31 00:02:42,270 --> 00:02:49,230 vous avez un comportement d'utilisateur inattendu ou non géré afin que les utilisateurs utilisent votre application d'une manière que vous Je ne 32 00:02:49,230 --> 00:02:52,470 voulais pas qu'ils utilisent, donc lorsque vous testez votre application 33 00:02:52,470 --> 00:02:57,480 pendant le développement, vous voulez être vraiment créatif et savoir si les utilisateurs peuvent entrer 34 00:02:57,480 --> 00:03:05,190 dans des endroits où ils peuvent continuer ou où votre application ne fonctionne pas correctement, de sorte que peut-être les utilisateurs ont suivi une 35 00:03:05,190 --> 00:03:11,100 certaine séquence d'étapes qui mène à une erreur, à une erreur logique, peut-être qu'une entrée est manquante à 36 00:03:11,100 --> 00:03:17,850 un moment donné et que vous ne vérifiez pas que cette entrée est définie et donc que celle-ci n'est pas définie, 37 00:03:18,120 --> 00:03:22,740 vous pouvez provoquer un autre problème ou entrer dans une autre erreur, donc quelque 38 00:03:22,770 --> 00:03:24,200 chose comme ça. 39 00:03:24,300 --> 00:03:29,790 Enfin, si nous parlons du style, de la mise en page, nous pouvons évidemment avoir un style inattendu ou 40 00:03:29,790 --> 00:03:34,340 incorrect, donc nous testons l'application et nous voyons que cela ne ressemble pas à ce qu'il 41 00:03:34,470 --> 00:03:38,220 devrait ou peut-être que nous avons juste des résultats incohérents sur différents 42 00:03:38,220 --> 00:03:44,790 appareils, peut-être que notre application a l'air bien sur iOS mais pas sur Android ou enfin, nous avons peut-être une mise en page qui 43 00:03:44,790 --> 00:03:49,220 ne fonctionne tout simplement pas ou qui ne semble pas correcte sur certains appareils ou orientations. 44 00:03:49,260 --> 00:03:53,370 Peut-être que notre contenu ne tient pas sur l'écran sur de très petits appareils, ce 45 00:03:53,400 --> 00:03:58,750 sont toutes des choses que nous voulons également exclure. Voilà ce que vous pouvez 46 00:03:58,770 --> 00:04:03,460 déboguer, comment déboguez-vous? Quels outils obtenez-vous pour déboguer vos erreurs? 47 00:04:03,600 --> 00:04:11,880 Maintenant, l'outil le plus évident que vous obtenez et pourtant l'outil que beaucoup de gens négligent ou ne regardent pas du 48 00:04:11,880 --> 00:04:14,070 tout sont les messages d'erreur, 49 00:04:14,070 --> 00:04:17,100 lisez attentivement les messages d'erreur que vous obtenez. 50 00:04:17,130 --> 00:04:24,850 Je l'ai vu si souvent dans mes cours que les étudiants ont des erreurs et vont simplement Oh Dieu j'ai une erreur, une 51 00:04:25,170 --> 00:04:32,760 capture d'écran ou copiez-collez-la dans la section Q & A et parfois, les erreurs peuvent être très difficiles à déboguer ou à comprendre 52 00:04:32,760 --> 00:04:39,180 ou vous avez besoin d'expérience pour découvrir ce qui s'est exactement passé mais pour être très honnête, souvent les 53 00:04:39,600 --> 00:04:46,530 messages d'erreur sont vraiment clairs concernant ce qui s'est mal passé ou contiennent même une solution sur la façon dont 54 00:04:46,530 --> 00:04:48,120 vous pouvez corriger l'erreur. 55 00:04:48,210 --> 00:04:54,090 Et enfin, prendre simplement un message d'erreur et le googler vous amène souvent très loin, car vous 56 00:04:54,090 --> 00:04:56,790 n'êtes probablement pas le premier à l'obtenir. 57 00:04:57,970 --> 00:05:03,850 Supposons maintenant que vous n'obteniez pas de message d'erreur mais que votre application ne se comporte pas correctement à certains endroits 58 00:05:03,880 --> 00:05:09,670 ou que vous ne soyez pas sûr si une valeur est correctement définie dans une partie de votre code. 59 00:05:09,880 --> 00:05:15,370 Un moyen très simple de consulter votre code, d'avoir une idée des valeurs avec lesquelles vous travaillez dans 60 00:05:15,370 --> 00:05:22,150 le code est d'utiliser un bon ancien journal de console. Désormais, le débogage des journaux de la console n'a pas la meilleure 61 00:05:22,150 --> 00:05:26,090 réputation et en effet, ce n'est pas génial si vous déboguez un problème très 62 00:05:26,260 --> 00:05:32,470 complexe, mais simplement pour avoir une idée du flux de votre code ou de certaines des valeurs avec lesquelles vous travaillez. , c'est 63 00:05:32,470 --> 00:05:32,950 bien. 64 00:05:32,950 --> 00:05:38,860 Vous pouvez simplement le vider dans votre code, puis découvrir quelle valeur vous utilisez à quel moment ou comment 65 00:05:38,860 --> 00:05:43,840 quelque chose se comporte dans une certaine situation ou si quelque chose est exécuté et 66 00:05:43,900 --> 00:05:47,260 donc, c'est certainement quelque chose que vous devriez également faire. 67 00:05:47,260 --> 00:05:53,830 Maintenant, pour des problèmes plus complexes ou si vous voulez vraiment parcourir votre code étape par étape, l'utilisation du débogueur Chrome et des 68 00:05:53,830 --> 00:05:59,610 points d'arrêt est un excellent outil et il est pris en charge par React Native, à la fois lorsque vous 69 00:05:59,620 --> 00:06:05,860 utilisez expo ou lorsque vous êtes ne pas utiliser expo. Là, vous pouvez vraiment plonger profondément dans votre code 70 00:06:05,860 --> 00:06:11,740 et avoir une idée de son fonctionnement, le parcourir étape par étape et regarder votre code pendant son 71 00:06:11,740 --> 00:06:12,350 exécution. 72 00:06:13,090 --> 00:06:15,760 Jetons donc un œil à ces choses maintenant.