JeuWeb - Crée ton jeu par navigateur
Introduction/Objectif - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Introduction/Objectif (/showthread.php?tid=8222)



Introduction/Objectif - Xenos - 14-09-2020

Ceci est une ébauche, n'hésitez pas à la faire avancer!

http://www.jeuweb.net/board/un-grand-auteur-dit-tu-fais-comment-pour-t-5332.html

Introduction/Objectif

Qu'est ce qu'un bug

Comme vous le savez surement un bug est un mauvais fonctionnement de programme, mais il faut entendre “mauvais fonctionnement” de façon large. Car çà peut aller du message d'erreur, au simple défaut d'ergonomie qui fait que l'utilisateur pense que çà ne fonctionne pas.

Ainsi on peut distinguer plusieurs cause de bugs:
  • les bugs causé par une erreur de syntaxe


Exemple: Oublie de ”;”, faute dans un nom de variable ou de fonction, utilisation de mot interdit (mot-clef)
  • les bugs causé par une erreur dans la logique du programme


Exemple: Oublie de vérification des données issues de formulaire, mauvais algorithme, programme basé sur une hypothèse fausse
  • les bugs causé par un environnement non supporté


Exemple: mauvais affichage sur internet explorer, librairie gd manquante, fonction mail désactivé…
  • les bugs causé par une mauvaise conception


Exemple: La plus part des joueurs cliquent sur la pelle pour creuser alors que c'est la pioche qui sert à creuser! La pelle elle sert à supprimer! Ici il s'agit d'un bug ergonomique.

Prévenir plutôt que guérir

La première chose à faire avant de corriger des bugs, c'est éviter de les avoirs.

Apprendre les langages

Pour éviter les erreurs de syntaxe, il est évidemment nécessaire d'apprendre les langages utilisés.
On peut aussi s'inspirer de code source qui fonctionne.

Connaitre un langage c'est aussi connaitre ce qu'on a pas le droit, ou ce que l'on nous déconseille, d'utiliser comme nom de variable.
En effet, certains langage possèdent des mots clefs qui sont réservé. C'est par exemple le cas du langage SQL.
Voici un lien avec les mots clef de MySQL: http://dev.mysql.com/doc/refman/5.0/fr/reserved-words.html

Utiliser un IDE

Un environnement de développement intégré est un logiciel permettant de développer dans un langage, grâce à de nombreuse fonctionnalité fournis avec.

De façon absolue vous pouvez programmer avec un bloc note, mais vous serez certainement moins efficace!

Sachez qu'il existe des IDE qui peuvent notamment:
  • colorer votre code afin de mettre en valeur les mots clef ainsi que des éventuels oublies d'apostrophe ou de guillemet.

  • Lister les erreurs de syntaxes de votre code

  • Souligner les erreurs de syntaxes en rouge comme un correcteur orthographique

  • compléter ce que vous êtes en train d'écrire (fermeture d'accolade de parenthèse etc…)

  • lire vos commentaires de documentation automatique

  • lire votre programme pas à pas (ne concerne que les langages de script , à confirmer pour php)


Définir des conventions

Il est important de définir des conventions de codage. C'est à dire de définir la forme avec laquelle vous allez programmer.
Vous pouvez notamment définir:
  • la langue de vos nom de variable, de fonction, de fichier, de table etc… Ainsi que leur forme exemple ma_variable ou MaVariable ou encore mMaVariable.

  • la forme de vos commentaires (documentation automatique)

  • l'organisation de vos répertoires




C'est encore plus utiles quand il y a plusieurs personnes dans le projet ou que le projet pense accueillir d'autre programmeur par la suite.

Réfléchir avant de coder tout de suite

En prenant le temps d'analyser le problème vous éviterez un bon nombre d'erreur de conception qui peuvent parfois être fatal à un projet!
Ainsi plus vous prenez le temps pour définir la façon dont vous vous y prendrez moins vous risquerez de vous planter, mais n'oubliez pas non plus qu'il est important d'avancer quitte à faire des erreurs.

Pratiquer les tests unitaires

A écrire

Chasser les bugs

cf tuto http://wiki.jeuweb.net/organisation/debug

Corriger les bugs

Bon c'est bien tout çà, mais çà n'arrange pas le problème quand à la manière de déboguer un programme, car quand le bug est là il est là!

Bug avec message d'erreur

Dysfonctionnement sans message d'erreur

Bug ergonomique ou de mauvaise utilisation