> ## 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.

# Casos de uso comunes

> Casos de uso comunes de Windsurf, que incluyen la generación de código, la generación de pruebas unitarias, la documentación de código, la integración de API y la refactorización de código.

Windsurf cubre una amplia variedad de casos de uso a nivel general. Sin embargo, observamos que algunos son más frecuentes que otros, especialmente entre nuestros clientes Enterprise en sus bases de código de producción.

<div id="code-generation">
  ## Generación de código
</div>

<AccordionGroup>
  <Accordion title="Código boilerplate">
    **Guía:** Windsurf debería funcionar bien para este caso de uso. Entre sus funciones se incluyen sugerencias de una sola línea, de múltiples líneas y completados de “fill-in-the-middle” (FIM).

    **Mejores prácticas:** Asegúrate de utilizar Next Completion (`⌥ + ]`), Context Pinning, @ Mentions y Custom Context para obtener los mejores resultados.
  </Accordion>

  <Accordion title="Tareas de desarrollo front-end">
    **Guía:** Windsurf debería funcionar bien para este caso de uso. Entre sus funciones se incluyen sugerencias de una sola línea, de múltiples líneas y completados de “fill-in-the-middle” (FIM).

    **Mejores prácticas:** Asegúrate de utilizar Next Completion (`⌥ + ]`), Context Pinning, @ Mentions y Custom Context para obtener los mejores resultados.
  </Accordion>

  <Accordion title="Tareas de desarrollo back-end">
    **Guía:** Windsurf debería funcionar bien para este caso de uso. Entre sus funciones se incluyen sugerencias de una sola línea, de múltiples líneas y completados de “fill-in-the-middle” (FIM).

    **Mejores prácticas:** Asegúrate de utilizar Next Completion (`⌥ + ]`), Context Pinning, @ Mentions y Custom Context para obtener los mejores resultados.
  </Accordion>
</AccordionGroup>

<div id="unit-test-generation">
  ## Generación de pruebas unitarias
</div>

<AccordionGroup>
  <Accordion title="Generar pruebas unitarias y eliminar automáticamente casos de prueba redundantes">
    **Guía:** El uso básico de Windsurf para generar pruebas unitarias debería cubrir de forma confiable entre el 60% y el 70% de las pruebas. La cobertura de casos borde dependerá de la calidad de las indicaciones dadas al model.

    **Mejores prácticas:** Usa @Menciones. Mejores prácticas de ingeniería de prompts. Algunos ejemplos:

    Escribe una prueba unitaria para `@function-name` que cubra todos los casos borde para X y Y (p. ej., dominio de correo electrónico).

    Usa `@testing-utility-class` para escribir una prueba unitaria para `@function-name`.
  </Accordion>

  <Accordion title="Generar datos de muestra para la ejecución de pruebas">
    **Guía:** Útil para casos de bajo esfuerzo. Para especificaciones de API muy concretas o bibliotecas internas, Windsurf puede no conocer lo suficiente las particularidades como para garantizar la calidad de los datos de muestra generados.

    **Mejores prácticas:** Sé muy específico sobre la interfaz que esperas. Considera la complejidad de la tarea (y si una única llamada al LLM será suficiente para resolverla).
  </Accordion>
</AccordionGroup>

<div id="internal-code-commentary">
  ## Comentarios internos en el código
</div>

<AccordionGroup>
  <Accordion title="Generar comentarios en línea y descripciones de código">
    **Guía:** Windsurf debería funcionar bien para este caso de uso. Usa Windsurf Command o Windsurf Chat para generar comentarios en línea y descripciones de código.

    **Mejores prácticas:** Usa @Mentions y Code Lenses tanto como sea posible para garantizar que el alcance de la llamada al LLM sea correcto.
  </Accordion>

  <Accordion title="Sugerir mejoras y aclaraciones">
    **Guía:** En general, el botón Refactor o Windsurf Command son las mejores formas de solicitar mejoras. Windsurf Chat es el mejor lugar para pedir explicaciones o aclaraciones. Esto es un poco vago, pero Windsurf debería manejar bien ambas cosas.

    Windsurf Chat es el mejor lugar para pedir explicaciones o aclaraciones.

    Esto es un poco vago, pero Windsurf debería manejar bien ambas cosas.

    **Mejores prácticas**: Usa las indicaciones del menú desplegable (también conocido como el botón Refactor de Windsurf): contamos con indicaciones personalizadas, mejor diseñadas para ofrecer la respuesta que probablemente esperas.
  </Accordion>

  <Accordion title="Automatizar encabezados de funciones (C/C++/C#)">
    **Guía**: La mejor manera de hacerlo es crear el archivo de encabezado, abrir el Chat, mencionar con @ la función en el archivo .cpp y pedir que escriba la declaración de la función en el encabezado. Luego repite esto de forma iterativa para cada una en el archivo .cpp. Esta es la mejor manera de evitar alucinaciones en el proceso.

    **Mejores prácticas**: En general, evita intentar escribir un archivo de encabezado completo con una sola llamada al LLM. Dividir el trabajo en unidades más pequeñas aumenta significativamente la calidad del código generado.
  </Accordion>
</AccordionGroup>

<div id="api-documentation-and-integration">
  ## Documentación e integración de la API
</div>

<AccordionGroup>
  <Accordion title="Crear documentación a medida que se crean las API y aportar el contexto adecuado">
    **Guía**: Esto es similar a la cobertura de pruebas: en las partes de la especificación de la API que son comunes a muchas bibliotecas, Windsurf podrá anotarlas con precisión. Sin embargo, en lo que esté desarrollado específicamente para tu caso de uso interno, Windsurf podría tener dificultades para hacerlo con la calidad que esperas.

    **Mejores prácticas**: Al igual que con la cobertura de pruebas, en la medida de lo posible, guía al model de Windsurf sobre la mejor manera de razonar acerca de lo que hace la API y podrá anotarla mejor.
  </Accordion>

  <Accordion title="Buscar API en el repositorio con lenguaje natural y generar código para integraciones">
    **Guía**: La longitud de contexto de Windsurf para una única llamada al LLM es de 16,000 tokens. Por lo tanto, según el alcance de tu búsqueda, la capacidad de búsqueda a nivel de repositorio de Windsurf puede no ser suficiente. Las tareas a nivel de repositorio, de múltiples pasos y múltiples ediciones estarán disponibles en próximos productos de Windsurf.

    Este es, fundamentalmente, un problema de múltiples pasos que las llamadas únicas al LLM (es decir, la funcionalidad actual de todos los asistentes de código con IA) no están bien equipadas para abordar. Además, la precisión del resultado debe ser mucho mayor que en otros casos de uso, ya que las integraciones son especialmente frágiles.

    **Mejores prácticas**: Windsurf no está bien equipado para resolver este problema hoy. Si deseas explorar el alcance de la funcionalidad actual de Windsurf, elabora un plan paso a paso y solicita a Windsurf cada paso por separado, con un alto nivel de detalle para guiar a la IA.
  </Accordion>
</AccordionGroup>

<div id="code-refactoring">
  ## Refactorización de código
</div>

<AccordionGroup>
  <Accordion title="Simplificación y modularización del código">
    **Guía**: Asegura un alcance adecuado usando Windsurf Code Lenses o @ Mentions para garantizar que todo el contexto necesario se transmita al LLM.

    Las longitudes de contexto para una sola llamada al LLM son finitas. Por lo tanto, según el alcance de tu refactorización, esta limitación de contexto puede ser un problema (y, en general, en cualquier paradigma de LLM de una sola ejecución). Las tareas a nivel de repositorio, de múltiples pasos y múltiples ediciones ahora están disponibles en [Cascade](/es/windsurf/cascade) de Windsurf.

    **Mejores prácticas**: Procura desglosar el prompt tanto como sea posible. Cuanto más simple y breve sea la instrucción de refactorización, mejor.
  </Accordion>

  <Accordion title="Reestructuración del código para mejorar la legibilidad y el mantenimiento">
    **Guía**: Asegura un alcance adecuado usando Windsurf Code Lenses o @ Mentions para garantizar que todo el contexto necesario se transmita al LLM.

    La longitud de contexto de Windsurf para una sola llamada al LLM es de 16,000 tokens. Por lo tanto, según el alcance de tu refactorización, esta longitud de contexto puede ser un problema (y, en general, en cualquier paradigma de LLM de una sola ejecución). Las tareas a nivel de repositorio, de múltiples pasos y múltiples ediciones serán compatibles en futuros productos de Windsurf.

    **Mejores prácticas**: Procura desglosar el prompt tanto como sea posible. Cuanto más simple y breve sea la instrucción de refactorización, mejor.
  </Accordion>
</AccordionGroup>
