Skip to main content

Synchronisieren der Dokumentation mit Codeänderungen

Copilot Chat kann dabei helfen, dass die Codedokumentation stets auf dem neuesten Stand ist

Es kann schwierig sein, die Dokumentation mit Änderungen am Code auf dem neuesten Stand zu halten. Eine gute Dokumentation ist jedoch für das Aufrechterhalten von Codebasen und dafür essenziell, dass Entwickler effektiv mit dem Code arbeiten können. Copilot Chat kann beim Aktualisieren vorhandener Codedokumentation helfen.

Beispielszenario

Stelle dir ein Szenario vor, in dem eine TypeScript-Funktion die Produkte nach Kategoriename abruft, die Dokumentation jedoch veraltet ist.

/**
 * 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://www.prisma.io/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,
      },
    },
  });
}

Beispiel für Prompt

Du kannst Copilot Chat auffordern, die Dokumentation gemäß dem aktuellen Code zu aktualisieren.

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

Beispielantwort

Note

Die folgende Antwort ist ein Beispiel. Da die Copilot Chat-Antworten nicht deterministisch sind, erhältst du möglicherweise eine andere Antwort als die hier beschriebene.

Copilot wird die aktualisierte Dokumentation für die getByCategoryName-Funktion erstellen. Anschließend wird die aktualisierte Dokumentation bereitgestellt, die jetzt die Parameter page und pageSize sowie den Fehler PrismaClientKnownRequestError enthält, der ausgelöst werden kann.

Zum Beispiel:

/**
 * 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://www.prisma.io/docs/reference/api-reference/prisma-client-reference#findmany}
 */

Weitere Informationen