Note
En outre, les directives de codage personnalisé sont disponibles uniquement dans le cadre d'un abonnement à GitHub Copilot Enterprise.
À propos des lignes directrices en matière de codage
Vous pouvez personnaliser Révision du code Copilot avec des directives de codage personnalisées écrites en langage naturel. Pour plus d'informations sur Révision du code Copilot, consultez Utiliser la revue de code GitHub Copilot.
Grâce aux directives de codage, Copilot peut fournir un retour d'information basé sur le style de codage spécifique à votre organisation et sur les meilleures pratiques.
Comme Révision du code Copilot est alimenté par un grand modèle de langage, il peut aider à faire respecter les règles de codage qui ne sont pas couvertes par votre linter ou votre outil d'analyse statique.
Les directives de codage sont configurées au niveau du référentiel. Vous pouvez créer et activer jusqu'à 6 règles de codage par référentiel.
Note
- Les lignes directrices de codage ne fonctionnent qu'avec les langues prises en charge par l'examen de code Copilot. Pour obtenir la liste des langues prises en charge, consultez Utiliser la revue de code GitHub Copilot.
- Les instructions de codage s’appliquent uniquement aux révisions de code effectuées par Copilot. Les lignes directrices n'affectent pas les suggestions de complétion de code de Copilot, ni le code suggéré dans les réponses à la conversation de Copilot.
Ce qu'il faut faire et ne pas faire pour les lignes directrices en matière de codage
- Utilisez un langage simple, clair et concis pour décrire votre ligne directrice de codage.
- Soyez aussi précis que possible sur ce que Copilot doit rechercher - c'est-à-dire ce que vous voulez ou ne voulez pas voir dans votre code.
- Jetez un coup d'œil aux Exemples de lignes directrices pour le codage ci-dessous pour vous inspirer.
- N'essayez pas d'utiliser les règles de codage pour appliquer des règles de style qui peuvent être couvertes par votre linter ou votre outil d'analyse statique.
- N'utilisez pas de termes ambigus ou susceptibles d'être interprétés de différentes manières.
- N'essayez pas de faire entrer plusieurs idées différentes dans une seule ligne directrice de codage.
Création d'une ligne directrice de codage
-
Sur GitHub, accédez à la page principale du référentiel.
-
Sous le nom de votre dépôt, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.
-
Dans la section « Code et automatisation » de la barre latérale, cliquez sur Copilot, puis Examen du code.
-
Cliquez sur Créer une ligne directrice.
-
Sous « Nom », donnez aux instructions de codage un nom.
-
Sous « Description », fournissez une description des instructions de codage allant jusqu’à 600 caractères. Ceci sera utilisé par Copilot pour comprendre votre style de codage et décider quand laisser un commentaire.
La façon dont vous rédigez votre description a un impact important sur la qualité des commentaires que Copilot générera. Pour vous aider à rédiger des lignes directrices de codage efficaces, consultez Les choses à faire et à ne pas faire pour les lignes directrices de codage ci-dessus, et Exemples de lignes directrices de codage ci-dessous.
-
Si vous le souhaitez, limitez les instructions de codage aux types de fichiers ou chemins spécifiques en cliquant sur Ajouter un chemin d’accès et en ajoutant des modèles de chemin d’accès.
Vous pouvez utiliser
fnmatch
syntaxe pour définir des chemins d’accès à la cible, avec*
en tant que caractère générique pour faire correspondre n’importe quelle chaîne de caractères.Étant donné que GitHub utilise l’indicateur
File::FNM_PATHNAME
pour la syntaxeFile.fnmatch
, le caractère générique*
ne correspond pas aux séparateurs de répertoires (/
). Par exemple,qa/*
correspond à toutes les branches commençant parqa/
et contenant une barre oblique unique, mais ne correspond pas àqa/foo/bar
. Vous pouvez inclure n’importe quel nombre de barres obliques aprèsqa
avecqa/**/*
, qui correspondrait, par exemple, àqa/foo/bar/foobar/hello-world
. Vous pouvez également étendre la chaîneqa
avecqa**/**/*
pour rendre la règle plus inclusive.Pour plus d’informations sur les options de syntaxe, consultez la documentation fnmatch.
-
Testez vos instructions de codage pour vous assurer qu’elle fonctionne comme prévu.
- Cliquez sur Ajouter une source.
- Ajoutez votre propre échantillon ou cliquez sur pour générer un échantillon de code basé sur votre titre et votre description.
- Cliquez sur Enregistrer pour sauvegarder l'exemple de code.
- Testez la ligne directrice de codage par rapport à votre échantillon en appuyant sur Run.
-
Enregistrez votre ligne directrice de codage et activez-la en cliquant sur Enregistrer la ligne directrice.
Réaliser un examen à l'aide des lignes directrices en matière de codage
Lorsque vous demandez une révision à Copilot, il utilisera automatiquement les directives de codage activées du référentiel pour réviser votre code. Pour plus d’informations, consultez « Utiliser la revue de code GitHub Copilot ».
Les commentaires générés sur la base d'une ligne directrice de codage seront accompagnés d'un message indiquant leur source.
Exemples de lignes directrices de codage
Exemple 1 : Éviter d’utiliser des nombres magiques
**Titre : ** Avoid using magic numbers
Description : Don't use magic numbers in code. Numbers should be defined as constants or variables with meaningful names.
**Modèles de chemins : ****/*.py
Exemple 2 : N’utilisez pas SELECT *
dans les requêtes SQL
**Titre : ** Don't use `SELECT *` in SQL queries
Description : Don't use `SELECT *` in SQL queries. Always specify the columns you want to select. `COUNT(*)` is allowed.
modèles de chemin d’accès : None (s’applique à tous les types de fichiers, car les requêtes SQL peuvent être incorporées dans le code).
Exemple 3 : Utiliser fetch
pour les requêtes HTTP
**Titre : ** Use `fetch` for HTTP requests
Description : Use `fetch` for HTTP requests, not `axios` or `superagent` or other libraries.
Modèles de chemin d’accès : **/*.ts
, **/*.js
,**/*.jsx
,**/*.tsx
Exemple 4 : toujours marquer les mesures avec l'environnement actuel
**Titre : ** Always tag metrics with the current environment
Description : Always include a `env` tag with the current environment when emitting metrics, for example, `env:prod` or `env:dev`.
Modèles de chemin d’accès : */*.go
, */*.java