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 :
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 :
Explain how dependency injection works in this NestJS service.
Use the selected file as an example.Exemple comprendre une erreur
Erreur :
TypeError: Cannot read properties of undefined (reading 'items')Prompt :
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 :
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 :
IDE → navigateur → documentation → terminal → Slack → issue → retour IDEChaque 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 :
ouvrir navigateur
chercher doc
lire Stack Overflow
revenir IDE
chercher fichiers
demander à un collègue
testerExemple avec Copilot
Dans l’IDE :
Explain this function and identify edge cases.Puis :
Generate tests for these edge cases.Puis :
Refactor this function to make the edge cases explicit.Tu restes dans le même environnement.
Exemple terminal
Au lieu de chercher sur Internet :
How to find all files larger than 100MB on Linux?Tu demandes à Copilot CLI :
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 :
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 :
Pull Request summarypour comprendre rapidement les changements.
Puis :
Copilot Code Reviewpour obtenir des commentaires sur le diff.
Mais il doit toujours lire lui-même les changements.
Exemple missing tests
Copilot peut dire :
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
| Situation | Meilleur usage Copilot |
|---|---|
| Écrire une fonction simple | Inline suggestion / Chat |
| Générer un endpoint avec contraintes | Copilot Chat / Edit Mode |
| Refactorer un module complexe | Ask Mode puis Plan Mode |
| Moderniser du legacy critique | Analyse + tests + plan avant modification |
| Générer des tests | Copilot Chat |
| Créer de la sample data | Copilot Chat |
| Écrire un script shell | Copilot CLI |
| Résumer une PR | PR summary |
| Reviewer une PR | Copilot Code Review |
| Réduire le context switching | Utiliser Copilot dans l’IDE/GitHub.com/CLI selon la tâche |
| Apprendre une codebase | Copilot 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
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 :
Ask Copilot to rewrite the whole module immediately.Meilleur usage :
Ask Mode → Plan Mode → tests → modifications progressivesBon prompt initial :
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 :
Copilot Chat avec contexte package.json, Dockerfile, .env.exampleBon prompt :
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 :
Copilot ChatBon prompt :
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 :
Copilot Chat dans l’IDEBon prompt :
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.
Pratique : Quel usage de Copilot ?
Chaque situation vient du tableau de décision du cours (§9.10). Choisis le meilleur usage de Copilot ; les autres propositions sont les réponses d’autres lignes du même tableau. Tu vois ensuite la réponse du cours et la section à revoir.
Chargement de la question…
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- 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.
Objectif GH-300
- Apprendre et limiter le changement de contexte (Accelerate learning and reduce context switching)
Achèvement
Il reste à faire : , .