09 Productivité développeur

Apprendre, limiter le changement de contexte et choisir le bon usage

9.7 Accélération de l’apprentissage 🎓

Définition

Copilot peut aider un développeur à apprendre :

  • une nouvelle codebase ;
  • un framework ;
  • une API ;
  • un langage ;
  • un pattern ;
  • une erreur ;
  • un outil ;
  • une librairie.

Il peut expliquer et donner des exemples contextualisés.

Exemple apprendre une codebase

Prompt :

Texte
I am new to this repository.
Explain the role of this folder.
Identify the main entry points, important services, and how data flows through the application.

Exemple apprendre un framework

Prompt :

Texte
Explain how dependency injection works in this NestJS service.
Use the selected file as an example.

Exemple comprendre une erreur

Erreur :

Texte
TypeError: Cannot read properties of undefined (reading 'items')

Prompt :

Texte
Explain this error in the context of the selected function.
What is undefined, why does it happen, and how can I fix it safely?

Exemple apprendre par comparaison

Prompt :

Texte
Explain the difference between this callback-based implementation and an async/await version.
Include trade-offs and migration risks.

Attention

Copilot peut accélérer l’apprentissage, mais il peut aussi se tromper.

Pour les sujets critiques :

  • vérifier la documentation officielle ;
  • comparer avec le code existant ;
  • demander des exemples ;
  • tester ;
  • demander les limites.

À retenir

Copilot est un excellent tuteur contextuel, mais pas une source officielle infaillible.

9.8 Réduction du context switching 🔄

Définition

Le context switching est le fait de changer constamment d’outil ou de contexte mental.

Exemples :

Texte
IDE → navigateur → documentation → terminal → Slack → issue → retour IDE

Chaque changement coûte de l’attention.

Copilot réduit ce coût en amenant de l’aide directement là où tu travailles :

  • dans l’IDE ;
  • dans GitHub.com ;
  • dans le terminal ;
  • dans une PR ;
  • dans une issue ;
  • dans un Space ;
  • via MCP.

Exemple sans Copilot

Tu travailles dans VS Code.

Tu veux comprendre une fonction.

Flux classique :

Texte
ouvrir navigateur
chercher doc
lire Stack Overflow
revenir IDE
chercher fichiers
demander à un collègue
tester

Exemple avec Copilot

Dans l’IDE :

Texte
Explain this function and identify edge cases.

Puis :

Texte
Generate tests for these edge cases.

Puis :

Texte
Refactor this function to make the edge cases explicit.

Tu restes dans le même environnement.

Exemple terminal

Au lieu de chercher sur Internet :

Texte
How to find all files larger than 100MB on Linux?

Tu demandes à Copilot CLI :

Texte
Suggest a shell command to find files larger than 100MB in this repository.
Explain the command before running it.

Exemple GitHub.com

Dans une PR :

  • Copilot résume les changements ;
  • Copilot aide à reviewer ;
  • tu lis le diff ;
  • tu poses des questions sur la PR.

Moins besoin de changer d’outil.

Attention

Réduire le context switching ne veut pas dire :

ne jamais vérifier ailleurs.

Pour les sujets sensibles, il faut toujours vérifier :

  • documentation officielle ;
  • tests ;
  • logs ;
  • sécurité ;
  • règles internes.

À retenir

Copilot réduit le context switching en apportant l’aide dans le workflow développeur.

Mais il ne remplace pas les sources officielles ni les contrôles qualité.

Mesurer l’effet de Copilot

« Copilot fait gagner du temps » ne se démontre pas par une impression. Trois familles de signaux se complètent :

  • adoption et usage : utilisateurs actifs, part des suggestions acceptées ;
  • expérience des développeurs : satisfaction, enquêtes courtes et régulières ;
  • résultats : délai entre l’ouverture et la fusion d’une pull request (lead time), qualité du code livré.

Aucun indicateur seul ne prouve un gain de productivité. Un fort taux d’acceptation peut accompagner du code à reprendre ensuite, et un lead time plus court peut avoir une autre cause. On croise usage, ressenti et résultats, et on suit leur évolution dans le temps. Les métriques d’usage de GitHub fournissent les données d’usage ; elles ne mesurent pas la valeur à elles seules.

9.9 Assistance à la revue de code 🔍

Définition

Copilot peut aider à reviewer du code, soit via :

  • Copilot Chat ;
  • Copilot Code Review ;
  • PR summaries ;
  • questions ciblées dans l’IDE ou sur GitHub.com.

L’objectif est d’aider à détecter :

  • bugs ;
  • oublis de tests ;
  • problèmes de sécurité ;
  • problèmes de lisibilité ;
  • incohérences ;
  • erreurs de logique ;
  • impacts non documentés.

Exemple avec Copilot Chat

Prompt :

Texte
Review the selected code.

Focus on:
- correctness
- edge cases
- security risks
- missing tests
- maintainability
- performance concerns

Return prioritized findings.

Exemple PR

Un reviewer ouvre une PR.

Il peut utiliser :

Texte
Pull Request summary

pour comprendre rapidement les changements.

Puis :

Texte
Copilot Code Review

pour obtenir des commentaires sur le diff.

Mais il doit toujours lire lui-même les changements.

Exemple missing tests

Copilot peut dire :

Texte
This change adds validation for email but does not add tests for invalid email formats.

Très utile.

Ce que Copilot Code Review ne remplace pas

Ni la review humaine, ni les tests, la CI, les scans de sécurité ou l’approbation d’un maintainer : voir 4.11.

À retenir

Copilot assiste la revue de code, mais l’équipe reste responsable du merge.

Question examen typique :

Copilot Code Review est activé. Peut-on supprimer les reviews humaines ?

Réponse :

Non. Copilot aide, mais ne remplace pas le jugement humain.

9.10 Cas d’examen : meilleur usage Copilot selon une situation développeur 🧪

Cette section est centrale pour l’examen.

L’examen peut décrire une situation et te demander quel usage de Copilot est le plus adapté.

Tableau de décision rapide

SituationMeilleur usage Copilot
Écrire une fonction simpleInline suggestion / Chat
Générer un endpoint avec contraintesCopilot Chat / Edit Mode
Refactorer un module complexeAsk Mode puis Plan Mode
Moderniser du legacy critiqueAnalyse + tests + plan avant modification
Générer des testsCopilot Chat
Créer de la sample dataCopilot Chat
Écrire un script shellCopilot CLI
Résumer une PRPR summary
Reviewer une PRCopilot Code Review
Réduire le context switchingUtiliser Copilot dans l’IDE/GitHub.com/CLI selon la tâche
Apprendre une codebaseCopilot Chat / Spaces

Pour choisir entre Ask, Inline Chat, Edits, Spaces ou MCP, voir 3.11 et 4.15.

Cas 1 — Génération de code simple

Scénario

Un développeur veut créer une petite fonction de normalisation d’email.

Meilleur usage

Inline suggestion ou Copilot Chat

Bon prompt

Texte
Create a TypeScript function normalizeEmail(email: string): string.
Trim whitespace, lowercase the email, and throw an error if the result is empty.

Cas 2 — Legacy critique

Scénario :

Une équipe veut moderniser un module legacy qui gère les paiements.

Mauvais usage :

Texte
Ask Copilot to rewrite the whole module immediately.

Meilleur usage :

Texte
Ask Mode → Plan Mode → tests → modifications progressives

Bon prompt initial :

Texte
Analyze this legacy payment module.
Do not modify code.
Identify responsibilities, side effects, hidden assumptions, dependencies, and tests needed before refactoring.

Cas 3 — Documentation

Scénario :

Une équipe veut documenter comment lancer le projet localement.

Meilleur usage :

Texte
Copilot Chat avec contexte package.json, Dockerfile, .env.example

Bon prompt :

Texte
Generate a README section for local development.
Use package.json, Dockerfile, and .env.example.
Include prerequisites, setup, environment variables, run commands, and test commands.

Cas 4 — Sample data

Scénario :

Une équipe frontend a besoin de données fictives pour tester une page.

Meilleur usage :

Texte
Copilot Chat

Bon prompt :

Texte
Generate fake sample JSON data for 10 orders.
Include id, customerName, status, amount, createdAt.
Use realistic but fake data.
Include statuses: pending, paid, cancelled, refunded.

Cas 5 — Réduction du context switching

Scénario :

Un développeur veut comprendre une erreur sans quitter son IDE.

Meilleur usage :

Texte
Copilot Chat dans l’IDE

Bon prompt :

Texte
Explain this error using the selected code and stack trace.
Identify the likely root cause and suggest a minimal fix.

La revue de PR (résumé, Code Review, review humaine) est traitée en 9.9 et en 4.15.

À retenir pour le GH-300

  • Copilot peut expliquer une codebase, une erreur ou une différence, mais la documentation officielle et l’observation restent les sources de vérité.
  • Le bon usage dépend de la surface : IDE pour le code, CLI pour le terminal, PR summary pour s’orienter et Code Review pour assister l’analyse.
  • Réduire le context switching ne signifie jamais supprimer les tests, les contrôles ou le jugement humain.
  • Aucun indicateur seul ne prouve un gain de productivité : on croise usage, expérience des développeurs et résultats.