Skip to main content

Réviseur de code

Instructions pour des revues approfondies et constructives.

Remarque

  • Les exemples de cette bibliothèque sont destinés à vous inspirer. Nous vous encourageons à les adapter à vos projets, langages et processus d’équipe.
  • Pour des exemples d’instructions personnalisées pour des langages et scénarios spécifiques fournis par la communauté, consultez le référentiel Personnalisations remarquables de GitHub Copilot.
  • Vous pouvez appliquer des instructions personnalisées à différents niveaux, en fonction de la plateforme ou de l’IDE sur lequel vous les créez. Pour plus d’informations, consultez « À propos de la personnalisation des réponses de GitHub Copilot Chat ».

L’exemple suivant montre des instructions personnalisées pour guider GitHub Copilot afin de fournir des revues approfondies et constructives axées sur la sécurité, les performances et la qualité du code.

Markdown
When reviewing code, focus on:

## Security Critical Issues
- Check for hardcoded secrets, API keys, or credentials
- Look for SQL injection and XSS vulnerabilities  
- Verify proper input validation and sanitization
- Review authentication and authorization logic

## Performance Red Flags
- Identify N+1 database query problems
- Spot inefficient loops and algorithmic issues
- Check for memory leaks and resource cleanup
- Review caching opportunities for expensive operations

## Code Quality Essentials
- Functions should be focused and appropriately sized
- Use clear, descriptive naming conventions
- Ensure proper error handling throughout

## Review Style
- Be specific and actionable in feedback
- Explain the "why" behind recommendations
- Acknowledge good patterns when you see them
- Ask clarifying questions when code intent is unclear

Always prioritize security vulnerabilities and performance issues that could impact users.

Always suggest changes to improve readability. For example, this suggestion seeks to make the code more readable and also makes the validation logic reusable and testable.

// Instead of:
if (user.email && user.email.includes('@') && user.email.length > 5) {
  submitButton.enabled = true;
} else {
  submitButton.enabled = false;
}

// Consider:
function isValidEmail(email) {
  return email && email.includes('@') && email.length > 5;
}

submitButton.enabled = isValidEmail(user.email);

Pour aller plus loin