Comment fournir un code compréhensible et reproductible quand on a un problème ?
Quand vous posez une question sur des forums ou des groupes de discussion, les personnes pourront vous aider plus facilement si vous fournissez un code compréhensible et un moyen de reproduire le problème.
C'est ce que les gens appellent en anglais a minimal, reproducible example (reprex), a minimal, complete and verifiable example (mcve), ou encore a minimal, workable example (mwe).
Quel que soit le problème, il s'agit de s'assurer que votre code qui reproduit le problème suit les points suivants :
Le reste de cet article vous donnera juste des conseils sur comment rédiger un exemple minimal et reproductible.
Plus il y a de codes à lire, moins les gens ont de chances de trouver votre problème. Simplifiez votre exemple de deux façons :
Ne sacrifiez pas la clarté à la simplicité lorsque vous créez un exemple minimal. Utilisez une dénomination et une indentation cohérentes, et incluez des commentaires de code si nécessaire. Au besoin, utilisez le raccourci de votre IDE pour formater votre code. Utilisez également des espaces au lieu de tabulations. Suivant les endroits où vous allez mettre votre code, les tabulations risquent de ne pas être correctement formatées.
Assurez-vous que toutes les informations nécessaires pour reproduire le problème sont incluses dans la question elle-même :
Pour vous aider à résoudre votre problème, d'autres devront vérifier son existence :
Il peut être utile d'arrêter le système et de le redémarrer, ou de tester l'exemple dans un nouvel environnement pour confirmer qu'il fournit bien un exemple du problème.
Pour plus d'informations sur la façon de déboguer votre programme afin de créer un exemple minimal, Eric Lippert a rédigé un article sur le sujet : How to debug small programs.
L'utilisation de "reprex" pour Reproductible Example a été inspirée par Jenny Bryan.
Cet article est une traduction d'un article rédigé en anglais sur Stack Overflow.