Rédiger un problème

Tous les grands projets reposent sur les commentaires des utilisateurs. Blockly utilise les problèmes GitHub pour suivre les commentaires. Cette page explique en détail comment rédiger un problème facile à lire pour un développeur et à y répondre, ce qui augmente les chances que votre rapport de bug/demande de fonctionnalité soit traité.

Travail préalable

Vous avez des questions ?

Vos questions sont toujours les bienvenues ! Mais les problèmes GitHub ne sont pas un très bon support pour eux. Si vous avez des questions, consultez plutôt notre forum des développeurs. Si vous posez votre question ici, vous avez plus de chances d'obtenir une réponse rapide et complète, car elle regorge de développeurs qui utilisent Blockly depuis des années.

Rechercher les doublons

Avant de commencer à écrire tout type de problème, il est toujours bon de vérifier s'il existe déjà un problème qui correspond. Si c'est le cas, cela vous évite d'avoir à l'écrire vous-même ! Avant de commencer à écrire, faites donc des recherches sur les doublons ou les problèmes associés.

Si vous identifiez un problème correspondant, cliquez sur "J'aime" ou ajoutez un commentaire détaillant vos réflexions. Cela est particulièrement important pour les rapports de bug et les demandes de fonctionnalités. Si les développeurs constatent qu'un problème suscite beaucoup d'intérêt, il a plus de chances d'être résolu.

Signaler un bug

Vous pensez avoir découvert un bug ? Parfait. Nous apprécions les rapports de bogues parce que nous voulons que ce projet soit aussi stable que possible. Voici quelques étapes à suivre pour résoudre votre bug.

  1. Rechercher les doublons
  2. Recueillir des preuves
  3. Localiser le problème
  4. Consolider votre reproduction
  5. Suggérer une cause
  6. Rédigez votre problème

Recueillir des preuves

En règle générale, plus votre bug contient d'informations, mieux c'est. Voici quelques éléments que vous pouvez fournir:

  • Des captures d'écran ou des GIF peuvent être très utiles si un bug entraîne un problème visuel.
  • Un exemple de code est utile si un bug n'affecte que certains types de blocs ou certaines configurations d'espaces de travail.
  • Un site hébergé est idéal si vous rencontrez des difficultés à reproduire votre bug en dehors de votre environnement spécifique.

Identifier le problème

Entre la bibliothèque principale, les plug-ins, les exemples et les ateliers de programmation, nous avons beaucoup de code Blockly. Aidez-nous en nous indiquant précisément où se situe le problème.

Si le problème est fondamental, quel composant ? Par exemple, le problème peut être lié à la boîte à outils, aux commandes de zoom ou aux blocs de la bibliothèque. Soyez aussi précis que possible.

Si le problème se trouve dans blockly-samples, identifiez le plug-in, l'atelier de programmation ou l'exemple dans lequel il se trouve. Si vous rencontrez le même bug à plusieurs endroits, signalez-le également.

Consolider votre reproduction

Un bug ne peut être corrigé que s'il est reproductible. Par conséquent, avant de signaler un problème, assurez-vous de disposer d'un moyen efficace de le faire.

Vous devriez obtenir une liste numérotée d'étapes qui indiquent au développeur comment reproduire le bug. Exemple :

  1. Ouvrir l'atelier de programmation X.
  2. Accéder à la page Y.
  3. Exécutez l'exemple de code Z.
  4. Observez le comportement insatisfaisant, qui ressemble à W.

Si votre problème se trouve dans le noyau Blockly, essayez de le reproduire dans playground.

Suggérer une cause

Si vous pensez savoir pourquoi le bug se produit, incluez également cette information. Encore une fois, soyez aussi précis que possible.

Rédigez votre problème !

Il est temps de rédiger votre rapport de bug. Sélectionnez votre dépôt:

Veillez à remplir toutes les sections du modèle de problème, même celles qui ne sont pas détaillées ici.

Nous vous remercions de nous avoir signalé un bug et vous souhaitons tous nos vœux de réussite.

Et maintenant ?

  • Votre rapport de bug est automatiquement marqué pour être trié.
  • Le membre d'astreinte de l'équipe Blockly examinera le problème et pourra éventuellement poser des questions de clarification. Ils ajoutent également des libellés que nous utilisons pour organiser les bugs.
  • Le problème peut être marqué comme "Demande d'assistance". Dans ce cas, vous pouvez le revendiquer et commencer à le résoudre.
  • Le problème peut être attribué à un membre de l'équipe Blockly afin qu'il soit résolu.
  • Le problème peut être marqué d'un jalon trimestriel pour indiquer quand il sera terminé.
  • Le problème peut se trouver dans l'Icebox, ce qui signifie que nous n'avons pas l'intention d'y travailler dans un avenir proche.
    • Cela peut se produire pour des problèmes de faible fréquence ou des bugs avec des solutions de contournement connues.
    • Vous pouvez toujours résoudre les problèmes "Iceboxed".
  • Le problème peut être placé dans le jalon du backlog de Bug Bash, ce qui signifie qu'il est non urgent, mais que nous voulons tout de même le résoudre.
    • À la fin de chaque trimestre, l'équipe passe quelques semaines à travailler sur les bugs extraits du jalon Bug Bash Backlog.
  • Si nécessaire, le problème peut être déplacé de Blockly Core vers Blockly-samples (ou dans la direction opposée).
  • Le problème est peut-être clos.

Feature request (Demande de fonctionnalité)

Voulez-vous modifier quelque chose pour améliorer Blockly ? Avez-vous une idée de plug-in, d'exemple ou d'atelier de programmation ? Peut-être en existe-t-il déjà un que vous aimez et vous avez trouvé un moyen de l’améliorer. Si c'est le cas, vous êtes au bon endroit ! Voici les étapes à suivre pour créer une demande de fonctionnalité efficace qui reçoit une réponse.

  1. Rechercher les doublons
  2. Vérifier les conditions
  3. Rassembler vos réflexions
  4. Rédigez votre demande de fonctionnalité.

Vérifier les conditions requises

Nous aimerions permettre à toutes les idées d'entrer dans ce dépôt ! Malheureusement, nous ne sommes que des humains. C'est pourquoi nous avons établi des consignes concernant les types de demandes que nous allons traiter.

Voici les directives applicables à chacune des différentes catégories de projets:

  • Blockly Core
  • Plug-ins
  • Exemples: montrer comment utiliser une ou deux fonctionnalités Blockly.
  • Ateliers de programmation: montrez comment effectuer une seule tâche ou implémenter un seul comportement.

Mais ce ne sont pas des règles strictes. Elles visent simplement à vous donner une idée de ce que nous recherchons avant que vous ne preniez le temps de créer votre demande de fonctionnalité.

Si vous ne savez pas si quelque chose vous convient, essayez de le publier sur nos forums pour les développeurs. Et n'oubliez pas que même si votre idée n'est pas acceptée, nous serions ravis que vous la compiliez sous la forme d'un plug-in ou d'un tutoriel tiers.

Faites le point

Vous n'avez pas besoin d'élaborer votre idée à 100% avec des guirlandes et des diagrammes avant de l'envoyer, mais vous devez avoir une idée précise de ce que vous recherchez. Voici quelques bonnes questions à vous poser avant de commencer à écrire:

  • Pourquoi ai-je besoin de cette fonctionnalité ?
  • Cette fonctionnalité permet-elle de résoudre un problème ?
  • À quelle audience s'adresse cette fonctionnalité ?
  • Pourquoi cette fonctionnalité leur est-elle utile ?
  • Quelles sont les autres options qui pourraient parvenir au même résultat ?

Une fois ces éléments définis, vous serez en mesure de faire une demande de fonctionnalité pertinente.

Rédigez votre demande de fonctionnalité.

Vous êtes maintenant prêt à rédiger votre demande de fonctionnalité. Sélectionnez votre dépôt:

Veillez à remplir toutes les sections du modèle de problème, même celles qui ne sont pas détaillées ici.

Nous vous remercions de l'intérêt que vous portez à l'envoi d'une demande de fonctionnalité. Nous vous souhaitons un bon message.

Et maintenant ?

  • Votre demande de fonctionnalité est automatiquement marquée pour être triée.
  • Le membre d'astreinte de l'équipe Blockly examinera le problème et pourra éventuellement poser des questions de clarification. Ils ajoutent également des libellés que nous utilisons pour organiser les bugs.
  • La fonctionnalité peut être marquée comme "Aide souhaitée", auquel cas vous pouvez la revendiquer et commencer à travailler dessus.
  • Cette fonctionnalité peut être attribuée à un membre de l'équipe Blockly pour implémentation.
  • Si nécessaire, la demande de fonctionnalité peut être déplacée de Blockly Core vers Blockly-samples (ou dans la direction opposée).
  • La demande de fonctionnalité peut être clôturée, auquel cas vous avez toujours la possibilité de l'implémenter en tant que plug-in tiers.