web-dev-qa-db-fra.com

Quelle est la pratique courante pour le débogage?

1) local ou distant? Je comprends que la meilleure pratique de débogage est d’avoir une version locale de votre site Web, mais il peut parfois prendre beaucoup de temps de créer une version locale de votre site Web actuel, en particulier lorsque le site a été publié et que vous souhaitez juste faire quelques ajustements. ou résoudre certains problèmes mineurs.

2) pour la raison que j'ai mentionnée ci-dessus, je débogue habituellement directement en ligne. Voici un scénario typique que je rencontre souvent: le front-end rapporte une erreur concernant un fichier php, j'ouvre le fichier et regarde la ligne en question, c'est dans une méthode de classe. Alors je var_dump variables liées pour voir ce qui ne va pas, le plus souvent, cela n’aide en rien, puis plongez dans la fonction pour découvrir que les variables en question sont liées à l’un des paramètres de la fonction. Pour savoir quel est exactement le paramètre, je dois savoir où cette fonction est appelée. Voici où je me suis généralement retrouvé coincé. Je dois télécharger l’extension ou même l’ensemble du site Web en local et faire une recherche dans le texte de la fonction dans tous les fichiers php. Il y a souvent des dizaines d'invocations, je dois les essayer un par un pour voir lequel pose problème. Plus que souvent, cela mènera à une autre fonction pour laquelle je dois répéter le processus ci-dessus… Cette procédure prend beaucoup de temps et me rend souvent frustrée et confuse. Est-ce ce que tout le monde traverse?

Je me demande donc comment un développeur sophistiqué joomla déboguerait son site, quelle est la pratique habituelle à cet égard? Je lisais des documentations joomla pour le débogage et je travaille toujours à la configuration d'un environnement Eclipse/xdebug, mais je pense que les questions ci-dessus demeurent.

7
shenkwen

Je suis loin d'être un développeur sophistiqué et je fais également du débogage sur des sites en ligne.

J'utilise cet outil marbelous

http://extensions.joomla.org/extension/j-dump

Il présente de nombreux avantages par rapport à un seul var_dump. J'espère que ça marchera pour toi aussi.

5
Piero Marsilio

Eh bien, ma préférence personnelle est ... cela dépend de ce qui doit être débogué.

Si c'est simplement un élément qui ne s'affiche pas correctement à cause de quelques CSS étranges, je vais tout simplement faire tourner le site en direct, ouvrir Firebug et régler le problème.

S'il s'agit d'un problème PHP ou lié à JS), j'ai tendance à prendre un exemplaire du site et à l'exécuter sur mon hôte local. Il s'agit toujours de la meilleure approche car vous souhaiterez peut-être commencer le dumping. variables testant le code.Les gens ne devraient pas voir cela se produire sur un site en direct.

En outre, la plupart du temps, lors du débogage, il peut être intéressant d’utiliser exit; pour confirmer le code dans les instructions conditionnelles fonctionne ou non. Comme vous le savez probablement déjà, vous obtiendrez une page de site vierge. Une autre raison de ne pas déboguer sur un site actif.

Si vous rencontrez un moment où il vous faudra trop de temps pour configurer le site sur votre hôte local, je vous conseillerais de mettre le site en mode hors connexion temporairement jusqu'à ce qu'il soit corrigé.

Un conseil pour l’avenir lors du développement d’un site consiste à le construire sur votre hôte local et à modifier le rapport de Joomla dans la configuration globale en développement, afin que toutes les erreurs soient affichées et puissent être corrigées avant la diffusion en direct.

5
Lodder