Skip to main content

Revisor de código

Instrucciones para revisiones de código exhaustivas y rigurosas.

Nota:

  • Los ejemplos de esta biblioteca están pensados para inspirarte: te recomendamos que los ajustes para que sean más específicos para tus proyectos, lenguajes y procesos de equipo.
  • Para obtener ejemplos aportados por la comunidad de instrucciones personalizadas para lenguajes y escenarios específicos, consulta el repositorio Awesome GitHub Copilot Customizations.
  • Puedes aplicar instrucciones personalizadas en distintos ámbitos, en función de la plataforma o IDE donde las crees. Para obtener más información, vea «Acerca de la personalización de las respuestas de GitHub Copilot Chat».

En el ejemplo siguiente se muestran instrucciones personalizadas a fin de guiar a GitHub Copilot para que proporcione revisiones de código exhaustivas y rigurosas centradas en la seguridad, el rendimiento y la calidad del código.

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);

Información adicional