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}
*/