跳至主要内容

将文档与代码更改同步

Copilot Chat 可以帮助保持代码文档的最新状态。

随着代码的变化,保持文档的最新是一件困难的事。但优秀的文档对于维护代码库以及确保开发者能够高效地使用代码至关重要。Copilot Chat 可以协助更新已有的代码文档。

示例情景

想象这样一种情景:你有一个 TypeScript 函数用于按类别名称检索产品,但文档已经过时。

/**
 * Retrieves all products belonging to a specific category.
 *
 * @param categoryId - The unique identifier of the product category
 * @returns Promise that resolves to an array of Product objects
 *
 * @example
 * const products = await getByCategoryName(5);
 * // Returns: [{id: 1, name: "Product 1", categoryId: 5}, ...]
 *
 * @throws {PrismaClientKnownRequestError} If database query fails
 * @see {@link https://prisma.org.cn/docs/reference/api-reference/prisma-client-reference#findmany}
 */
async getByCategoryName(categoryId: number, page = 1, pageSize = 10): Promise<Products[]> {
  return await prisma.products.findMany({
    where: { categoryId },
    skip: (page - 1) * pageSize,
    take: pageSize,
    include: {
      reviews: {
        orderBy: { date: 'desc' },
        take: 5,
      },
    },
  });
}

示例提示

你可以请求 Copilot Chat 根据当前代码更新文档。

Copilot 提示
Update the existing documentation for the getByCategoryName function to reflect the current implementation.

示例回复

注意

以下响应为示例。Copilot Chat 的回复具有不确定性,您可能会得到与此处显示的不同的响应。

Copilot 说明它将为 getByCategoryName 函数创建更新后的文档。随后它提供了更新后的文档,其中现在包含了 pagepageSize 参数,以及可能抛出的 PrismaClientKnownRequestError 错误。

例如

/**
 * Retrieves all products belonging to a specific category with pagination and recent reviews.
 *
 * @param categoryId - The unique identifier of the product category
 * @param page - The page number for pagination (default: 1)
 * @param pageSize - Number of products per page (default: 10)
 * @returns Promise that resolves to an array of Product objects with their 5 most recent reviews
 *
 * @example
 * const products = await getByCategoryName(5, 2, 20);
 * // Returns: [{id: 1, name: "Product 1", categoryId: 5, reviews: [...5 recent reviews]}, ...]
 *
 * @throws {PrismaClientKnownRequestError} If database query fails
 * @see {@link https://prisma.org.cn/docs/reference/api-reference/prisma-client-reference#findmany}
 */

延伸阅读

© . This site is unofficial and not affiliated with GitHub, Inc.