> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cas d’utilisation courants

> Cas d’utilisation courants de Windsurf, notamment la génération de code, la génération de tests unitaires, la documentation du code, l’intégration d’API et la refactorisation de code.

Windsurf couvre un large éventail de cas d’utilisation de manière globale. Cependant, nous observons que certains usages sont plus fréquents que d’autres, en particulier chez nos clients Enterprise, au sein de leurs bases de code en production.

<div id="code-generation">
  ## Génération de code
</div>

<AccordionGroup>
  <Accordion title="Code boilerplate">
    **Recommandations :** Windsurf convient bien à ce cas d’usage. Ses fonctionnalités incluent des suggestions sur une ligne, sur plusieurs lignes, ainsi que des complétions « fill‑in‑the‑middle » (FIM).

    **Bonnes pratiques :** L’utilisation de Next Completion (`⌥ + ]`), du Context Pinning, des @ Mentions et du Custom Context donnera les meilleurs résultats.
  </Accordion>

  <Accordion title="Tâches de développement front-end">
    **Recommandations :** Windsurf convient bien à ce cas d’usage. Ses fonctionnalités incluent des suggestions sur une ligne, sur plusieurs lignes, ainsi que des complétions « fill‑in‑the‑middle » (FIM).

    **Bonnes pratiques :** L’utilisation de Next Completion (`⌥ + ]`), du Context Pinning, des @ Mentions et du Custom Context donnera les meilleurs résultats.
  </Accordion>

  <Accordion title="Tâches de développement back-end">
    **Recommandations :** Windsurf convient bien à ce cas d’usage. Ses fonctionnalités incluent des suggestions sur une ligne, sur plusieurs lignes, ainsi que des complétions « fill‑in‑the‑middle » (FIM).

    **Bonnes pratiques :** L’utilisation de Next Completion (`⌥ + ]`), du Context Pinning, des @ Mentions et du Custom Context donnera les meilleurs résultats.
  </Accordion>
</AccordionGroup>

<div id="unit-test-generation">
  ## Génération de tests unitaires
</div>

<AccordionGroup>
  <Accordion title="Générer des tests unitaires et supprimer automatiquement les cas redondants">
    **Conseils :** L’utilisation de base de Windsurf pour générer des tests unitaires devrait produire de façon fiable 60 à 70 % des tests. La couverture des cas limites dépendra de la qualité des instructions données au modèle d’IA.

    **Bonnes pratiques :** Utilisez les @mentions. Appliquez les bonnes pratiques d’ingénierie de prompts. Exemples :

    Rédigez un test unitaire pour `@function-name` qui couvre tous les cas limites pour X et pour Y (p. ex. domaine d’e‑mail).

    Utilisez `@testing-utility-class` pour écrire un test unitaire pour `@function-name`.
  </Accordion>

  <Accordion title="Générer des données d’exemple pour l’exécution des tests">
    **Conseils :** Pertinent pour les cas simples à forte valeur ajoutée. Pour des spécifications d’API très spécifiques ou des bibliothèques internes, Windsurf ne maîtrisera pas suffisamment les subtilités pour garantir la qualité des données d’exemple générées.

    **Bonnes pratiques :** Soyez très précis quant à l’interface attendue. Prenez en compte la complexité de la tâche (et si un appel LLM « one‑shot » suffira à la traiter).
  </Accordion>
</AccordionGroup>

<div id="internal-code-commentary">
  ## Commentaires de code internes
</div>

<AccordionGroup>
  <Accordion title="Générer des commentaires inline et des descriptions de code">
    **Conseil :** Windsurf convient bien à cet usage. Utilisez Windsurf Command ou Windsurf Chat pour générer des commentaires inline et des descriptions de code.

    **Bonnes pratiques :** Utilisez les @mentions et les Code Lenses autant que possible pour garantir que le périmètre de l’appel au LLM est correct.
  </Accordion>

  <Accordion title="Suggérer des améliorations et des clarifications">
    **Conseil :** En général, le bouton Refactor / Windsurf Command sont les meilleurs moyens de demander des améliorations. Windsurf Chat est l’endroit idéal pour obtenir des explications ou des clarifications. C’est un peu vague, mais Windsurf est performant sur les deux.

    Windsurf Chat est l’endroit idéal pour obtenir des explications ou des clarifications.

    C’est un peu vague, mais Windsurf est performant sur les deux.

    **Bonnes pratiques** : Utilisez les invites du menu déroulant (alias le bouton Refactor de Windsurf) — nous avons des invites personnalisées mieux conçues pour fournir la réponse que vous attendez.
  </Accordion>

  <Accordion title="Automatiser les en-têtes de fonctions (C/C++/C#)">
    **Conseil** : La meilleure approche consiste à créer le fichier d’en-tête, à ouvrir le Chat, à @mentionner la fonction dans le fichier .cpp, puis à lui demander d’écrire la déclaration correspondante dans l’en-tête. Répétez ensuite ce processus pour chaque fonction du fichier .cpp. C’est la meilleure façon d’éviter les hallucinations en cours de route.

    **Bonnes pratiques** : Évitez généralement d’essayer d’écrire un fichier d’en-tête entier en un seul appel au LLM. Décomposer le travail augmente significativement la qualité du code généré.
  </Accordion>
</AccordionGroup>

<div id="api-documentation-and-integration">
  ## Documentation et intégration d’API
</div>

<AccordionGroup>
  <Accordion title="Créer la documentation au fur et à mesure de la création des API et fournir le bon contexte">
    **Conseils**: C’est comparable à la couverture de tests, où Windsurf serait en mesure d’annoter avec précision les parties de la spécification d’API communes à de nombreuses bibliothèques. En revanche, pour les éléments conçus spécifiquement pour votre usage interne, Windsurf pourrait avoir du mal à atteindre le niveau de qualité attendu.

    **Meilleures pratiques**: À l’instar de la couverture de tests, dans la mesure du possible, guidez le modèle d’IA de Windsurf sur la meilleure façon de comprendre ce que fait l’API afin qu’il puisse mieux l’annoter.
  </Accordion>

  <Accordion title="Rechercher des API dans le dépôt en langage naturel et générer du code d’intégration">
    **Conseils**: La longueur de contexte de Windsurf pour un seul appel de modèle d’IA est de 16 000 tokens. Ainsi, selon l’ampleur de votre recherche, la recherche à l’échelle du dépôt de Windsurf peut ne pas suffire. Des tâches à l’échelle du dépôt, multi‑étapes et avec modifications multiples seront prises en charge dans de futurs produits Windsurf.

    Il s’agit fondamentalement d’un problème à étapes multiples que des appels de modèle d’IA « one‑shot » (c.-à-d. la fonctionnalité actuelle de tous les assistants de code IA) gèrent mal. De plus, la précision des résultats doit être nettement plus élevée que pour d’autres cas d’usage, car les intégrations sont particulièrement fragiles.

    **Meilleures pratiques**: Windsurf n’est pas bien équipé pour résoudre ce problème aujourd’hui. Si vous souhaitez évaluer l’étendue des fonctionnalités actuelles de Windsurf, élaborez un plan étape par étape et sollicitez Windsurf séparément pour chaque étape, avec un haut niveau de détail pour guider l’IA.
  </Accordion>
</AccordionGroup>

<div id="code-refactoring">
  ## Refactorisation de code
</div>

<AccordionGroup>
  <Accordion title="Simplification et modularisation du code">
    **Conseils** : Définissez correctement le périmètre à l’aide des Code Lenses de Windsurf ou des @ Mentions afin que tout le contexte nécessaire soit transmis au LLM.

    La longueur de contexte d’un appel LLM est limitée. Ainsi, selon l’étendue de votre refactorisation, cette limite peut poser problème (comme pour tout paradigme LLM en un seul passage). Les tâches à l’échelle du dépôt, multi‑étapes et multi‑modifications sont désormais prises en charge dans [Cascade](/fr/windsurf/cascade) de Windsurf.

    **Bonnes pratiques** : Essayez de découper l’invite autant que possible. Plus la commande de refactorisation est simple et courte, mieux c’est.
  </Accordion>

  <Accordion title="Restructuration du code pour améliorer la lisibilité et la maintenabilité">
    **Conseils** : Définissez correctement le périmètre à l’aide des Code Lenses de Windsurf ou des @ Mentions afin que tout le contexte nécessaire soit transmis au LLM.

    La longueur de contexte de Windsurf pour un appel LLM est de 16 000 tokens. Ainsi, selon l’étendue de votre refactorisation, cette limite peut poser problème (comme pour tout paradigme LLM en un seul passage). Les tâches à l’échelle du dépôt, multi‑étapes et multi‑modifications seront prises en charge dans de futurs produits Windsurf.

    **Bonnes pratiques** : Essayez de découper l’invite autant que possible. Plus la commande de refactorisation est simple et courte, mieux c’est.
  </Accordion>
</AccordionGroup>
