Comment poser de bonnes questions en tant que développeur

Image de Camylla Battani | Unsplash

Savoir comment poser correctement les questions est une compétence essentielle de la vie en général. Une question bien structurée donnera le plus souvent une réponse utile et directe.

En matière de codage, vous pouvez prendre certaines mesures pour augmenter les chances d'obtenir une bonne réponse.

Ainsi, l’une des compétences que j’essaie d’améliorer avec mes élèves en classe est de savoir comment poser les bonnes questions quand ils se heurtent à un problème.

Voici les points principaux que je leur enseigne:

Faire les bases

Les tout premiers éléments de votre bonne question-demandant-quête () constituent l'essentiel.

Dans les premières leçons d'un cours en personne, un instructeur peut vous expliquer la solution tout en corrigeant votre code. Mais, dans le grand monde des communautés en ligne, ne pas faire au moins l'essentiel est souvent comme un drapeau rouge pour un taureau.

Vérifiez votre éditeur de code pour les fautes de frappe et les erreurs de syntaxe

La mise en évidence de la syntaxe est un puissant allié lorsqu’il détecte des fautes de frappe simples.

Surtout pour les Britanniques là-bas:

Dans les premiers jours, la majorité de vos erreurs seront des fautes de frappe et des erreurs de syntaxe. Celles-ci devraient être une solution rapide à l'aide de votre éditeur de code de confiance.

Vérifier les erreurs écrites

Si la langue que vous écrivez fournit des erreurs d’écriture, consultez la console / les journaux. Lisez l'erreur pour voir quoi et où l'erreur est.

Essayez de comprendre ce qui se passe

Une fois que vous aurez maîtrisé les bases, vous serez un peu plus au courant du problème.

Il est maintenant temps de lire le code ligne par ligne. Utilisez les outils de débogage disponibles pour la langue et creusez dans le problème.

Prenez votre temps ici. Plus votre compréhension du problème est profonde, plus vous pouvez créer d'hypothèses. Ceci, à son tour, mènera à une question plus claire.

S'il s'agit d'un problème d'interface utilisateur, utilisez les outils de développement de votre navigateur. Activez et désactivez les styles et voyez ceux qui sont écrasés par d'autres.

Sinon, utilisez les débogueurs et inspectez les valeurs des variables. Sont-ils ce que vous attendiez? Est-ce que quelque chose est montré comme non défini quand vous vous attendez à avoir une valeur?

Si nécessaire, mettez en commentaire des blocs de code afin de déterminer le problème.

Faites quelques recherches sur Google

A présent, vous devriez au moins avoir une compréhension du problème. Cela signifie que vous devriez être capable de structurer une question ciblée. Avant de demander de l'aide à quelqu'un d'autre, adressez-vous à Google pour effectuer des recherches.

Google est le meilleur ami du développeur. Même les développeurs expérimentés ont besoin de Google pour résoudre leurs problèmes régulièrement. Les bons développeurs sont aussi, très souvent, de bons googleurs.

La méthode de base pour structurer une requête Google décente est la suivante:

Répertoriez la langue, la bibliothèque ou le framework, puis ajoutez votre question de mot parlé ou un message d'erreur.

Voici quelques exemples de questions posées suivant cette structure:

Assurez-vous de faire quelques recherches différentes. Lisez tous les résultats qui semblent appropriés pour votre problème. Avec un peu de chance, quelqu'un avant vous aura eu le même problème et aura résolu son problème.

Recréez le problème en dehors du projet

Si vous n’avez toujours pas résolu votre problème, essayez de le recréer hors du projet. Ceci est particulièrement utile si vous rencontrez un problème CSS étrange. Dans ce cas, vous pouvez aller quelque part comme CodePen et partager votre extrait de code cassé.

Le fait de pouvoir séparer votre code erroné du reste de votre projet présente quelques avantages:

  • Cela vous aidera à vous concentrer sur la question
  • Cela aidera toute autre personne impliquée à résoudre le problème plus rapidement

Cela revient à valoriser le temps des autres. Il leur faudra moins de temps pour parcourir un extrait de code succinct que l’ensemble de votre base de code.

Préparez-vous à partager votre code

OK, vous n’avez donc pas pu résoudre le problème vous-même. Pas de soucis! Tout ce que vous avez fait jusqu’à présent a permis de poser une bonne question.

Mais avant de faire venir quelqu'un d'autre pour vous aider, il y a plusieurs choses à faire:

1) Assurez-vous que votre code est bien formaté

Si vous êtes un développeur discipliné, qui a un code bien formaté, alors high-five

Si ce n’est pas le cas, il est temps de donner à votre code une apparence vierge.

Pensez à utiliser des linters. Linters applique les bonnes pratiques en émettant des avertissements / des erreurs pour du code mal formaté. Vous pouvez même faire en sorte que vous ne puissiez pas envoyer de code contenant des erreurs de peluchage.

À tout le moins, ajoutez Prettier à votre éditeur et laissez-le effectuer le formatage à votre place.

En bout de ligne, personne ne veut régler le format de votre code avant même de pouvoir vous aider.

2) Assurez-vous que le code que vous partagez recrée l’erreur

Avant de partager votre code, assurez-vous qu’il recrée le problème que vous rencontrez. Cela devrait aller de soi, mais il sera extrêmement difficile de vous aider si le code que vous partagez ne recrée pas l’erreur.

Si le code nécessite quelques étapes pour être opérationnel, veillez à inclure ces étapes lorsque vous partagez le code.

Montrez les efforts que vous avez déployés pour résoudre le problème

À ce stade, vous levez la main dans la classe ou dirigez-vous vers un endroit comme StackOverflow ou un canal Slack pour obtenir une réponse en ligne.

Lorsque vous posez la question, il est essentiel de suivre les étapes que vous avez suivies jusqu’à présent pour résoudre votre problème. Fournissez à toute personne susceptible de pouvoir fournir le plus d’informations possible de clarifier votre problème.

Voici quelques informations que vous devriez partager:

  • Votre compréhension du problème. Cela pourrait être quelques hypothèses différentes maintenant. Il est important que vous expliquiez ce que le problème pourrait être et ce que vous avez fait pour essayer de le résoudre.
  • Captures d'écran de votre problème / erreur. S'il s'agit d'un problème d'interface utilisateur, annotez votre capture d'écran pour mettre en évidence le problème.
  • Code (de préférence dans un environnement sandbox) qui recrée le problème.

Lisez et relisez votre question si vous postez en ligne. Assurez-vous de fournir le plus de détails possible pour aider les autres à vous aider.

Il est beaucoup plus long de répondre en ligne à une question vague qu'en personne.

Tenir tout le monde au courant

Si vous avez posté la question en ligne, vous pouvez résoudre votre problème avant que quiconque n’ait le temps de répondre à la question. Si tel est le cas, veillez à poster votre propre réponse à votre question.

Cela peut sembler étrange de répondre à votre propre question en ligne. Mais les gens le font tout le temps et cela pourrait aider quelqu'un d'autre à l'avenir.

Merci à tous ceux qui ont essayé de vous aider

Cette. Est. Crucial.

Merci à tous ceux qui ont essayé de vous aider. Même s’ils n’ont pas réellement aidé à résoudre votre problème. Ils ont pris le temps de leur journée pour aider à réparer votre code cassé. Montrez votre appréciation

Avez-vous des conseils ou des astuces pour poser les bonnes questions que vous souhaitez ajouter? S'il vous plaît écrivez-les dans les commentaires.

Voulez-vous dire bonjour? Suivez-moi et tweetez @ frontendmentor sur Twitter.