{"meta":{"title":"Sincronización de documentación con cambios de código","intro":"Copilot Chat puede ayudar a mantener la documentación del código up-to-date.","product":"GitHub Copilot","breadcrumbs":[{"href":"/es/copilot","title":"GitHub Copilot"},{"href":"/es/copilot/tutorials","title":"Tutoriales"},{"href":"/es/copilot/tutorials/copilot-cookbook","title":"Recetario de GitHub Copilot"},{"href":"/es/copilot/tutorials/copilot-cookbook/document-code","title":"Código de documento"},{"href":"/es/copilot/tutorials/copilot-cookbook/document-code/sync-documentation","title":"Sincronización de documentación"}],"documentType":"article"},"body":"# Sincronización de documentación con cambios de código\n\nCopilot Chat puede ayudar a mantener la documentación del código up-to-date.\n\nMantener la documentación actualizada puede resultar difícil con los cambios en el código. Sin embargo, es esencial contar con una documentación óptima para mantener los códigos base y asegurarse de que los desarrolladores puedan trabajar de forma eficaz con el código.\nCopilot Chat puede ayudar a actualizar la documentación de código existente.\n\n## Escenario de ejemplo\n\nImagina un escenario en el que tienes una función de TypeScript que recupera productos por nombre de categoría, pero la documentación no está actualizada.\n\n```typescript id=fetch-products-by-category\n/**\n * Retrieves all products belonging to a specific category.\n * * @param categoryId - The unique identifier of the product category\n * @returns Promise that resolves to an array of Product objects\n * * @example\n * const products = await getByCategoryName(5);\n * // Returns: [{id: 1, name: \"Product 1\", categoryId: 5}, ...]\n * * @throws {PrismaClientKnownRequestError} If database query fails\n * @see {@link https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#findmany}\n */\nasync getByCategoryName(categoryId: number, page = 1, pageSize = 10): Promise<Products[]> {\n  return await prisma.products.findMany({\n    where: { categoryId },\n    skip: (page - 1) * pageSize,\n    take: pageSize,\n    include: {\n      reviews: {\n        orderBy: { date: 'desc' },\n        take: 5,\n      },\n    },\n  });\n}\n```\n\n## Mensaje de ejemplo\n\nPuede pedir que Copilot Chat actualice la documentación según el código actual.\n\n```copilot copy prompt ref=fetch-products-by-category\nUpdate the existing documentation for the getByCategoryName function to reflect the current implementation.\n```\n\n## Respuesta de ejemplo\n\n> \\[!NOTE] La respuesta siguiente es un ejemplo. Las respuestas de Copilot Chat no son deterministas, por lo que puedes obtener una respuesta diferente a la aquí mostrada.\n\nCopilot explica que creará la documentación actualizada para la `getByCategoryName` función. A continuación, proporciona la documentación actualizada, que ahora incluye los parámetros `page` y `pageSize`, así como el error `PrismaClientKnownRequestError` que puede producirse.\n\nPor ejemplo:\n\n```typescript\n/**\n * Retrieves all products belonging to a specific category with pagination and recent reviews.\n * * @param categoryId - The unique identifier of the product category\n * @param page - The page number for pagination (default: 1)\n * @param pageSize - Number of products per page (default: 10)\n * @returns Promise that resolves to an array of Product objects with their 5 most recent reviews\n * * @example\n * const products = await getByCategoryName(5, 2, 20);\n * // Returns: [{id: 1, name: \"Product 1\", categoryId: 5, reviews: [...5 recent reviews]}, ...]\n * * @throws {PrismaClientKnownRequestError} If database query fails\n * @see {@link https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#findmany}\n */\n```\n\n## Lectura adicional\n\n* [Ingeniería de mensajes para GitHub Copilot Chat](/es/copilot/concepts/prompting/prompt-engineering)\n* [Procedimientos recomendados para usar GitHub Copilot](/es/copilot/get-started/best-practices)"}