‫Bon retour et cette vidéo, nous allons réparer le travail que nous avions et nous allons voir comment nous pouvons
‫le comprendre.
‫Donc, dans cet exemple, c'est très basique.
‫Et nous savons vraiment que nous avons cette méthode qui fait la logique.
‫Droit.
‫C'est donc celui qui détermine si un ami est un ami de la fête ou non.
‫Et c'est quelque chose qui est généralement quelque chose qui vous aidera à déboguer, car si vous savez
‫ce qu'une méthode spécifique fera, alors vous pouvez créer un point d'arrêt à ce stade.
‫D'accord.
‫Donc, si vous travaillez dans un programme que vous n'avez jamais utilisé auparavant, alors vous devez,
‫bien sûr, tout d'abord l'examiner et comprendre ce que font toutes les méthodes.
‫Et c'est pourquoi ici, bien sûr, il serait utile d'avoir un résumé de ce qui se passe ici.
‫D'accord.
‫Alors expliquez, d'accord, qu'est-ce que cela fait ?
‫Quel est le résumé de cette méthode ?
‫Vous pouvez donc simplement utiliser triple.
‫Oui, plus trash.
‫Et puis vous pouvez ajouter un petit résumé.
‫C'est donc la logique pour déterminer qui A est un ami de la fête ou qui sera un ami de la fête ou quelque chose comme ça.
‫Ce n'est pas un anglais parfait, mais je pense que vous comprenez l'idée.
‫Donc, une fois que vous aurez fait cela, vous saurez, d'accord, d'accord.
‫C'est là qu'est la logique et notre programme fonctionne tout seul.
‫Droit?
‫Donc ça marche comme prévu, plus ou moins, sauf, bien sûr, que ça nous montre à des amis que nous avons un nom long
‫et pas ceux avec un nom court.
‫Le problème réside donc très probablement dans la logique, dans la façon dont nous sélectionnons quelque chose.
‫Donc ici on pouvait déjà voir ou je probablement c'est la méthode où on a le problème donc on peut se débarrasser
‫de ce point d'arrêt et de celui-ci aussi.
‫Et puis nous pouvons jeter un œil à notre méthode ici.
‫Ajoutons donc simplement un point d'arrêt dans la méthode arget party friend et nous pourrons ensuite l'examiner.
‫Alors commençons par ça.
‫Et ce qui est important, ce sont bien sûr les valeurs, n'est-ce pas ?
‫Nous voulons donc connaître les valeurs.
‫Et dans ce cas, nous nous intéressons au nom le plus court et peut-être aussi à la longueur ici, parce que c'est la logique, n'est-ce
‫pas ?
‫Donc, ce que nous ferions, c'est de passer à l'étape suivante.
‫Et nous pouvons voir, OK, la liste se compose de sept valeurs, donc ça va.
‫Cela semble donc fonctionner.
‫Nous avons tous nos amis là-dedans.
‫Donc jusqu'à ce point, tout semble aller bien.
‫Ensuite, nous passons à l'étape suivante.
‫Nous avons donc notre œil, qui est le nôtre.
‫Compteur et c'est à zéro.
‫Très bien, c'est bon, et le dernier compte est à sept, donc nous pouvons passer à l'étape suivante.
‫Maintenant, nous avons une comparaison ici.
‫Si liste I longueur plus grande longueur plus courte.
‫Et là, nous pouvons voir que le nom le plus court est Frank.
‫C'est donc avec celle-ci que nous avons commencé.
‫Droit.
‫La liste commence donc par Frank.
‫Donc au moins I qui est nul.
‫Nous aurons Frank.
‫Alors c'est bien.
‫Maintenant, passons à l'étape suivante car il semble que cette condition dans l'instruction if n'était pas vraie.
‫D'accord.
‫Ensuite, nous pouvons passer à l'itération suivante ou à l'étape suivante.
‫Et c'est à nouveau la comparaison maintenant nous pouvons voir que la liste est toujours de sept personnes et que nous avons eu une longueur
‫de chaîne retournée avec trois et l'autre était cinq.
‫Alors que se passe-t-il ici ?
‫Nous examinons Joe et Joe devrait être le prochain sur la liste car il a un nom plus court que
‫Frank.
‫Et c'est quelque chose que nous savons parce que nous avons écrit le programme.
‫Mais pour une raison quelconque, bien sûr, ce nom est toujours Frank.
‫Alors, nous pourrions à ce stade réaliser qu'ils vont bien ?
‫C'est donc probablement que nous avons une erreur ici.
‫Nous comparons donc créé à même s'il devrait être inférieur à maintenant.
‫Droit.
‫Ou plus petit alors et maintenant, si nous nous débarrassons du point d'arrêt et que nous exécutons à nouveau notre programme, alors nous verrons, OK, nous
‫obtenons les noms les plus courts, Joe et Frank et Maria.
‫D'accord.
‫Alors c'est super.
‫Alors maintenant, notre programme est sans bogue.
‫Eh bien, et bien sûr, ce n'est pas parce que nous avons encore beaucoup de problèmes ici.
‫L'un d'eux est que nous avons cette liste avec Frank, Joe, Michelle et ainsi de suite.
‫D'accord.
‫Nous avons donc créé la liste manuellement afin de savoir ce qu'elle contient.
‫Mais voyons maintenant.
‫Ce que nous essayons de faire, c'est d'essayer d'inviter dix personnes.
‫Mais notre fille vient de nous donner une liste de sept personnes.
‫Exécutons donc ce code.
‫Et.
‫Nous avons une exception, parfait, donc c'est ce qui est bien avec les exceptions, vous savez que quelque chose ne va pas avec
‫votre code et vous pouvez le corriger car parfois, comme nous venons de le voir, si vous ne voyez
‫pas les bugs, ils sont super difficiles à réparer.
‫Et ici, il s'agit d'une exception d'argument hors plage.
‫L'index était hors limites, doit être non négatif et inférieur à la taille de la collection.
‫Vous pouvez donc voir les détails à ce sujet.
‫Vous pouvez en voir un peu plus sur cette exception et elle vous dira tout ce que vous devez savoir.
‫Droit.
‫Donc beaucoup d'informations.
‫La plupart du temps, c'est trop.
‫Mais ce que cela dit, c'est que nous essayons d'exister un élément dans la liste qui est hors de notre portée.
‫D'accord, alors qu'est-ce que ça peut être ?
‫Eh bien, cela pourrait être la liste à laquelle nous essayons d'accéder afin que nous puissions aller ici.
‫Et nous pouvons voir que nous avons une exception, nous avons une liste compte zéro.
‫Alors que se passe-t-il, pourquoi la liste est-elle à zéro, parce que nous avons vu avant que la liste n'en soit que sept, n'est-ce pas ?
‫Alors pourquoi la liste est-elle soudainement nulle ?
‫Parce que nous n'avons jamais vraiment.
‫Nous avons regardé la liste et supprimé la liste, n'est-ce pas ?
‫Bien.
‫Ce que nous avons fait, c'est que nous avons supprimé un élément de la liste, nous avons donc eu une liste à supprimer.
‫Et c'est une erreur de débutant, pour ainsi dire, car comme je vous l'ai dit tout à l'heure, on passe
‫par référence, on ne passe pas par valeur les différences à suivre quand on dit.
‫Qu'on veuille avoir une liste ici et une fois que cette méthode est appelée, ce qui est le cas ici, donc get
‫party friends est appelée ici et on passe une liste appelée friends.
‫Nous avons donc passé cette liste ici, ce qui ne veut pas dire que nous passons les valeurs.
‫Nous ne le faisons pas.
‫Nous avons en fait transmis la référence à ces valeurs, ce qui signifie que toutes ces valeurs se trouvent quelque part
‫dans notre mémoire.
‫Donc là dans la mémoire de notre ordinateur.
‫Droit.
‫Et nous faisons référence à ces valeurs.
‫Alors on se dit, OK, j'aimerais aller à ce souvenir où tu as tous tes amis.
‫Alors j'aimerais aller voir Frank.
‫Je voudrais aller à Joe et ainsi de suite.
‫Ainsi, une fois que nous travaillons avec cette liste, par exemple, nous supprimons un élément de cette liste.
‫Nous ne créons pas de copie avec les valeurs, puis nous supprimons des éléments de la liste.
‫Mais nous effaçons en fait dans cette mémoire.
‫Nous supprimons donc Frank de la liste.
‫Nous supprimons Joe de la liste.
‫Vous pouvez donc le voir assez facilement si vous l'utilisez pour chaque boucle pour vérifier vos amis.
‫OK, donc je vais l'utiliser à nouveau pour que nous puissions réellement voir quelque chose.
‫Je passe donc en revue cela pour chaque boucle.
‫Et comme vous pouvez le voir, seule Angelena n'est affichée que par Angelena car Angelina est la septième de la
‫liste.
‫Et je viens de retirer six personnes de la liste.
‫On recommence avec quatre personnes.
‫Juste pour que vous voyiez que Maria, Carlos et Angelina sont toujours là.
‫Alors toi.
‫Je vois.
‫En fait, c'est Michelle.
‫D'accord.
‫Alors encore mieux maintenant, nous avons une situation très étrange où ce sont Michelle, Carlos et Angelina qui sont toujours
‫dans la liste.
‫OK, donc nous retirons constamment quelqu'un de la liste.
‫Et cela crée un tas de problèmes parce que si quelqu'un d'autre ou si nous utilisons
‫la liste de cet ami ailleurs, alors elle sera vide et elle sera corrompue.
‫Il n'y aura pas les valeurs initiales.
‫Et c'est quelque chose que nous ne devrions pas faire.
‫Donc, ce que nous pouvons faire, c'est créer un tampon ici.
‫Je vais donc juste créer un nouveau tampon verbal appelé, et ce sera une nouvelle liste de chaînes.
‫Et ce sera ma liste, donc je vais juste passer ma liste qui m'est transmise à ce stade.
‫D'accord.
‫Et je vais le stocker dans Buffer.
‫Ce sera donc une nouvelle liste.
‫Et maintenant, ce que nous pouvons voir, c'est que nous devons, bien sûr, maintenant retirer du tampon.
‫Nous allons donc retirer de cette copie de la liste.
‫Nous ne retirerons pas de la liste elle-même.
‫D'accord.
‫C'est la distinction importante que nous devons faire.
‫Nous retirons de la copie maintenant.
‫Maintenant, bien sûr, nous devons également utiliser le tampon ici pour obtenir le devant de la fête, car sinon nous ne
‫publierons jamais rien de la liste qui sera toujours de sept personnes.
‫Donc, même dans cette liste de tampons, ce sera toujours sept personnes et cela ne fonctionnera pas correctement.
‫D'accord.
‫Alors que nous sommes Frank, Jo, Michelle, tout est encore dans la liste.
‫OK, donc la boucle for each fonctionne bien.
‫Et en comparaison, ce que nous pourrions faire, c'est faire une autre boucle à quatre et vérifier avec des amis de la
‫fête juste pour voir si maintenant nous n'avons que sept, trois amis de la fête.
‫Vous pouvez donc voir qu'il s'agit en fait d'amis de quatrième partie.
‫Donc, ils sont tous là-dedans et Joe, Frank et Maria sont également toujours là-dedans.
‫Nous n'avons donc pas supprimé la liste d'amis.
‫Nous avons supprimé les éléments de la liste des tampons.
‫Et maintenant, bien sûr, nous n'en avons plus besoin.
‫C'était donc juste à des fins de test et de débogage.
‫Mais maintenant, nous avons un programme qui fonctionne bien.
‫Maintenant, vous pourriez dire, d'accord, nous n'avons plus de bugs.
‫Eh bien, mais nous n'avons toujours pas corrigé ce bogue que nous avions auparavant où si nous entrions dans 10 ans.
‫Nous serions.
‫Obtenez un bogue ou une erreur, en fait une exception d'argument hors plage.
‫Alors que pouvons-nous faire ici?
‫Parce que nous essayons d'accéder à un élément qui n'existe pas.
‫Nous essayons donc d'accéder à un élément de liste, même si notre liste est vide.
‫Alors comptons est zéro.
‫Et c'est quelque chose que nous allons corriger dans la prochaine vidéo, car, encore une fois, cela fait plus de 10 minutes et
‫je ne veux pas faire de vidéos trop longues.
‫Je vais donc vous montrer comment résoudre ce problème dans la prochaine vidéo car nous avons beaucoup de problèmes qui en
‫résultent.
‫D'accord.
‫Alors corrigeons-les dans la vidéo suivante.
‫On se voit là-bas.