Il peut être difficile de maintenir la documentation à jour avec les modifications apportées au code. Toutefois, une bonne documentation est essentielle pour gérer les bases de code et garantir que les développeurs peuvent travailler efficacement avec le code. Copilot Chat peut aider à mettre à jour la documentation du code existant.
Exemple de scénario
Imaginez un scénario dans lequel vous disposez d’une fonction TypeScript qui récupère les produits par nom de catégorie, mais la documentation est obsolète.
/**
* 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,
},
},
});
}
Exemples d’invite
Vous pouvez demander à Copilot Chat de mettre à jour la documentation en fonction du code actuel.
Update the existing documentation for the getByCategoryName function to reflect the current implementation.
Exemple de réponse
Note
La réponse suivante est un exemple. Copilot Chat Les réponses ne sont pas déterministes, il est donc possible que vous obteniez une réponse différente de celle présentée ici.
Copilot explique qu'il créera la documentation mise à jour pour la fonction getByCategoryName
. Il fournit ensuite la documentation mise à jour, qui inclut désormais les paramètres page
et pageSize
, ainsi que l'erreur PrismaClientKnownRequestError
qui peut être déclenchée.
Par exemple :
/**
* 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}
*/