{"meta":{"title":"Синхронизация документации с изменениями кода","intro":"Copilot Chat Может помочь вести документацию кода up-toдату.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/copilot","title":"GitHub Copilot"},{"href":"/ru/enterprise-cloud@latest/copilot/tutorials","title":"Учебники"},{"href":"/ru/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook","title":"Кулинарная книга GitHub Copilot"},{"href":"/ru/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook/document-code","title":"Код документа"},{"href":"/ru/enterprise-cloud@latest/copilot/tutorials/copilot-cookbook/document-code/sync-documentation","title":"Документация по синхронизации"}],"documentType":"article"},"body":"# Синхронизация документации с изменениями кода\n\nCopilot Chat Может помочь вести документацию кода up-toдату.\n\nВозможно, трудно обновлять документацию с изменениями кода. Однако хорошая документация необходима для поддержания баз кода и обеспечения эффективной работы разработчиков с кодом.\nCopilot Chat может помочь в обновлении существующей документации кода.\n\n## Пример сценария\n\nПредставьте сценарий, в котором у вас есть функция TypeScript, которая извлекает продукты по имени категории, но документация устарела.\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## Пример запроса\n\nВы можете попросить Copilot Chat обновить документацию в соответствии с действующим кодексом.\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## Пример ответа\n\n> \\[!NOTE] Следующий ответ является примером. Ответы Copilot Chat являются недетерминированными, поэтому вы можете получить другой ответ, показанный здесь.\n\nCopilot объясняет, что будет создана обновлённая документация для этой `getByCategoryName` функции. Затем она предоставляет обновленную документацию, которая теперь включает в себя `page` и `pageSize` параметры, а также `PrismaClientKnownRequestError` ошибку, которую можно выбросить.\n\nРассмотрим пример.\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## Дополнительные материалы\n\n* [Инженерия подсказок для GitHub Copilot Chat](/ru/enterprise-cloud@latest/copilot/concepts/prompting/prompt-engineering)\n* [Лучшие практики использования GitHub Copilot](/ru/enterprise-cloud@latest/copilot/get-started/best-practices)"}