Next Generation — Agence Digitale
    Aller au contenu principal
    Blog
    3 juin 20263 min

    Détecter les composants doublons : audit automatisé

    Le doublon silencieux : 2 composants qui font 90% la même chose, divergent en 6 mois. jscpd + composant polymorphe (cva) = 0 doublon.

    MB

    Meymoun Boualaoui

    Président · DG · CTO — Fondateur

    Détecter les composants doublons : audit automatisé

    Le doublon silencieux : Button.tsx et CTAButton.tsx font 90% la même chose, divergent en 6 mois, deviennent 2 maintenances. La détection doit être automatisée.

    Signaux d'un doublon

    • Même nom à un préfixe près (Card / UserCard / ProductCard qui partagent 80% du markup)
    • Même structure JSX, props différentes
    • Copy-paste évident (commentaires identiques, classes Tailwind identiques)

    Script `audit:duplicates` (jscpd)

    bash
    pnpm dlx jscpd src/ --min-lines 30 --min-tokens 70 --reporters console,json

    Sortie : liste les blocs ≥ 30 lignes dupliqués. Threshold CI : 0 nouveau duplicate par PR.

    Pattern de résolution : composant polymorphe

    Au lieu de PrimaryButton + SecondaryButton + GhostButton :

    tsx
    const buttonVariants = cva("base classes", {
      variants: {
        variant: { primary: "...", secondary: "...", ghost: "..." },
        size: { sm: "...", md: "...", lg: "..." }
      }
    });
    <Button variant="ghost" size="lg" />

    1 composant, N variantes typées. C'est le pattern shadcn/ui.

    Anti-pattern : copier-coller "pour aller plus vite"

    Gain immédiat : 5 minutes. Coût : 3 heures de refacto + 2 bugs de divergence dans 6 mois. ROI négatif à 100%. Toujours factoriser dès la 2e occurrence.

    Race condition silencieuse

    2 composants qui font le même fetch sans dédup = 2 requêtes parallèles, 2 setStates, ordre indéterminé. Solution : 1 hook useResource() partagé avec React Query (dedup native).

    Partager

    Questions fréquentes

    MB

    Écrit par

    Meymoun Boualaoui

    Président · DG · CTO — Fondateur

    Fondateur de Next Generation. Dev full-stack, SEO technique et architecture web — il maîtrise toute la chaîne de production, de l'infra au contenu qui ranke. Direct, analytique, perfectionniste.

    Voir le profil & tous les articles
    Service lié

    Besoin d'un accompagnement en seo & référencement ?

    Vos concurrents vous devancent sur Google. On renverse la situation. Audit, contenu, netlinking, résultats durables.

    Besoin d'aide pour votre stratégie digitale ?

    Nos experts sont là pour transformer vos ambitions en résultats concrets.

    Audit gratuitSans engagementRéponse sous 24h