avance()[!java];[/!] avance()[!java];[/!] gauche()[!java];[/!] avance()[!java];[/!] avance()[!java];[/!] gauche()[!java];[/!] avance()[!java];[/!] avance()[!java];[/!] gauche()[!java];[/!] avance()[!java];[/!] avance()[!java];[/!] gauche()[!java];[/!]
Les problèmes commencent quand nous voulons faire faire deux cabanes à la buggle : Il faut réécrire le code deux fois, ce qui n'est pas très pratique. Quand le code devient un peu long comme dans ce cas, on voit mieux pourquoi il faut toujours éviter de dupliquer du code. En effet, si vous vous rendez compte que vous vous êtes trompé dans votre code, et que vous l'avez recopier à plusieurs endroits, il va falloir le corriger plusieurs fois. Et gare si vous oubliez de corriger un exemplaire.
Ce principe de programmation a même un nom en anglais : DRY/SPOT (qui signifie «point sec»). C'est l'acronyme de «Don't Repeat Yourself» (ne vous répétez pas) et «Single Point Of Truth» (point unique de vérité). Chaque information doit se trouver à un seul endroit de votre programme pour éviter que les différentes copies ne se désynchronisent quand vous modifiez votre programme.
Nous allons donc appliquer ce beau principe et factoriser le code,
c'est-à-dire écrire le code une seule fois, par exemple dans une
méthode. Vous devriez même aller plus loin en factorisant le code de la
méthode avec une boucle for
comme vu précédemment. Si vous vous
y prenez bien (ce que vous devriez faire), vous n'écrirez qu'un seul appel à
la méthode gauche()
dans votre programme.
L'objectif de cet exercice est d'écrire une méthode nommée
dogHouse()
et ayant un comportement identique au code
ci-dessus. La buggle invoquera plusieurs fois votre œuvre afin de dessiner
des cabanes un peu partout.