lomi.

Revues de code

La revue de code garantit qualité du code, transmission des connaissances et maintenabilité.

Lignes directrices des pull requests

Format du titre

# Format
<type>(<scope>): <description>

# Examples
feat(payments): implement Wave payment provider
fix(webhooks): handle timeout errors
docs(api): update authentication guide

Modèle de description

## Changes

- Added Wave payment provider integration
- Implemented webhook signature verification
- Updated API documentation

## Testing

- Unit tests added for payment processing
- Integration tests for webhook handling
- Manual testing with test credentials

## Screenshots

[If applicable]

## Related issues

Closes #123

Processus de revue

Auto-revue avant envoi

# Run tests
npm test

# Check linting
npm run lint

# Build documentation
npm run docs:build

Revue par les pairs

  • Solliciter les membres pertinents
  • Traiter les retours rapidement
  • Demander une nouvelle revue après corrections

Contrôles CI

  • Tests au vert
  • Couverture respectée si exigée
  • Pas de vulnérabilité bloquante
  • Documentation à jour

Checklist de revue

Qualité du code

  • Conformité aux standards
  • Pas de duplication inutile
  • Gestion d’erreurs correcte
  • Implémentation efficace

Tests

  • Tests unitaires ajoutés/mis à jour
  • Tests d’intégration si besoin
  • Cas limites couverts
  • Couverture maintenue

Sécurité

  • Validation des entrées
  • Authentification / autorisation
  • Gestion des données sensibles
  • Bonnes pratiques de sécurité

Documentation

  • Commentaires utiles
  • Documentation API
  • README mis à jour
  • Entrée changelog si nécessaire

Bonnes pratiques

Côté auteur

// DO: Small, focused changes
function validatePayment(amount: number): boolean {
  return amount > 0 && amount <= 1000000;
}

// DON'T: Multiple unrelated changes
/*
function validateAndProcessPayment() {
  // Mixed concerns
}
*/

Côté relecteur

// Good feedback
// Consider using a type guard for better type safety
function isValidAmount(amount: unknown): amount is number {
  return typeof amount === 'number' && amount > 0;
}

// Unhelpful feedback
// // This is wrong

Exemples de code

// Before
/*
function process(data) {
  if (data) {
    return data.value;
  }
}
*/

// After
function process(data: InputData): OutputData {
  if (!data) {
    throw new Error('Data is required');
  }
  return data.value;
}

Commentaires de revue

Retours constructifs

// Instead of:
// // This is messy

// Better:
// Consider extracting this logic into a separate function
// for better reusability and testing:
function validateWebhookSignature(payload: string, signature: string): boolean {
  // Implementation
}

Suggestions

// Instead of:
// // Use better names

// Better:
// Consider more descriptive names:
// - `processPayment` -> `validateAndProcessPayment`
// - `data` -> `paymentData`

Après la revue

Intégrer les retours

# Update branch
git fetch origin
git rebase origin/develop

# Make changes
git add .
git commit -m "fix: address review feedback"

# Force push if needed
git push --force-with-lease

Fusion

# Squash and merge
git checkout develop
git merge --squash feature/payment-method

# Or rebase and merge
git checkout develop
git rebase feature/payment-method

Étapes suivantes

Sur cette page