Aller au contenu principal

Meilleures pratiques et dépannage des règles MDC

astuce

Les règles MDC (Model-Driven Code) vous aident à maintenir une qualité de code cohérente et à automatiser les tâches répétitives dans Cursor.

Comprendre les règles MDC

Les règles MDC sont des outils puissants qui vous permettent de :

  • Automatiser les revues de code et le formatage
  • Appliquer les standards de codage de l'équipe
  • Détecter et corriger les problèmes courants
  • Améliorer la qualité et la cohérence du code

Types de règles

  1. Règles syntaxiques

    • Formatage du code
    • Conventions de nommage
    • Structure des fichiers
  2. Règles sémantiques

    • Complexité du code
    • Vérification des bonnes pratiques
    • Détection des vulnérabilités de sécurité
  3. Règles personnalisées

    • Exigences spécifiques au projet
    • Conventions d'équipe
    • Validation de la logique métier

Configuration des règles

Configuration de base

Créez un répertoire .cursor/rules à la racine du projet :

mkdir -p .cursor/rules

Définition des règles

Créez un fichier de règles :

.cursor/rules/naming.json
{
"name": "Convention de nommage",
"description": "Applique un style de nommage cohérent",
"patterns": [
{
"type": "variable",
"style": "camelCase",
"exceptions": ["CONSTANTS"]
}
]
}

Priorité des règles

Définissez la priorité des règles selon leur importance :

.cursor/rules/config.json
{
"priority": {
"security": 1,
"formatting": 2,
"naming": 3
}
}

Problèmes courants et solutions

Règles non appliquées

Si les règles ne sont pas appliquées :

  1. Vérifier la configuration

    # Valider le fichier de règles
    cat .cursor/rules/config.json

    # Vérifier les erreurs de syntaxe
    jsonlint .cursor/rules/*.json
  2. Actualiser le cache des règles

    • Redémarrer Cursor
    • Effacer le cache des règles
    • Recharger le projet

Conflits de règles

Gérer les conflits de règles :

.cursor/rules/override.json
{
"conflicts": {
"rule1": {
"priority": "high",
"override": ["rule2", "rule3"]
}
}
}

Problèmes de performance

Optimiser l'exécution des règles :

  1. Limiter la portée

    {
    "include": ["src/**/*.ts"],
    "exclude": ["**/*.test.ts"]
    }
  2. Validation par lots

    {
    "batch": {
    "size": 100,
    "concurrent": true
    }
    }

Meilleures pratiques

1. Organisation des règles

  • Classer les règles par fonction
  • Utiliser des noms clairs
  • Garder les règles simples

2. Gestion des versions

  • Inclure les règles dans le contrôle de version
  • Documenter les changements de règles
  • Maintenir la documentation des règles

3. Collaboration d'équipe

  • Discuter des règles avec l'équipe
  • Recueillir les retours
  • Réviser et mettre à jour régulièrement

Fonctionnalités avancées

Validateur personnalisé

Créer un validateur spécifique au projet :

.cursor/rules/custom-validator.js
module.exports = {
validate: (code, context) => {
// Logique de validation personnalisée
return {
valid: true,
messages: []
};
}
};

Correction automatique

Implémenter la correction automatique :

module.exports = {
fix: (code, issues) => {
// Logique de correction automatique
return fixedCode;
}
};

Tests d'intégration

Ajouter des tests pour les règles :

rules.test.js
describe('Tests des règles MDC', () => {
test('Convention de nommage', () => {
// Logique de test des règles
});
});

Outils de débogage

Diagnostic des règles

Activer la journalisation détaillée :

.cursor/settings.json
{
"mdc.rules.debug": true,
"mdc.rules.logLevel": "verbose"
}

Analyse des performances

Surveiller l'exécution des règles :

# Analyser les performances des règles
cursor analyze-rules

# Générer un rapport de performance
cursor rules-report

Scénarios courants

1. Revue de code

Automatiser le processus de revue de code :

{
"review": {
"autoFix": true,
"blockOnError": true,
"notifyReviewer": true
}
}

2. Intégration CI/CD

Utiliser les règles dans l'intégration continue :

.github/workflows/mdc.yml
steps:
- name: Vérifier les règles MDC
run: cursor check-rules

3. Intégration IDE

Configurer l'intégration de l'éditeur :

.vscode/settings.json
{
"cursor.rules.enableFormatting": true,
"cursor.rules.showInlineHints": true
}

Ressources connexes