Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Python
Code

Création d'un planificateur de révision du code Python: envoi de demandes de révision

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building a Python Code Review Scheduler.
Building a Python Code Review Scheduler: Processing Log
Building a Python Code Review Scheduler: Keeping the Review Information

French (Français) translation by New Lune (you can also view the original English article)

Dans la première partie de la série de tutoriels, vous avez vu comment configurer le projet et ses configurations requises. Vous avez traité les journaux git du projet et les avez imprimés dans le terminal. Dans cette partie, nous allons passer au prochain niveau et envoyer les demandes de révision du code.

Commençons

Commencez par cloner le code source de la première partie de la série de tutoriels.

Une fois que vous avez cloné le référentiel, accédez au répertoire du projet CodeViewer et essayez d'exécuter la commande suivante dans le terminal.

Il devrait imprimer les identifiants de validation, la date de validation et l'auteur de validation dans le terminal.

Collecter tous les engagements avec les détails

Vous obtiendrez les détails de validation tout en itérant les journaux de validation. Maintenant, vous devez collecter les détails de validation et les stocker dans une liste, afin que vous puissiez les annuler plus tard pour envoyer la demande de révision du code. Pour collecter les détails de validation, commencez par créer une classe Commit avec les membres requis comme indiqué:

Tout en itérant les journaux de commit dans la méthode process_commits, créez une instance Commit pour conserver les détails de validation.

Dans la méthode process_commits, définissez quelques variables comme indiqué:

Vous collecterez chaque détail de validation dans une liste Python appelée commits. Pendant la lecture des journaux de validation, la première fois que l'identifiant de validation est détecté, conservez l'Id de validation et laissez les dates et les variables d'auteur, car il s'agit d'une nouvelle validation. Modifiez le code de la méthode process_commits après la vérification des mots clés de validation, comme illustré:

Lorsque l'Id de validation n'est pas nulle, c'est à ce moment-là que les détails de validation ont été collectés et il est temps d'ajouter le commit à la liste des commit. Ajoutez la ligne de code suivante au code ci-dessus:

Modifiez la vérification des mots clés de l'Author et la vérification du mot-clé Date pour conserver les détails de validation respectifs dans l'auteur et les variables de la date.

Maintenant, s'il n'y a qu'un seul commit dans le code source, les détails seront enregistrés dans la liste de validation. Ajoutez donc le code suivant à la fin de la boucle pour gérer ce scénario.

Voici la méthode complète de process_commits qui recueille les détails de validation et renvoie une liste d'engagements.

Planification d'une demande d'examen de code

Vous avez les détails de validation collectés à partir du journal du projet. Vous devez sélectionner les développeurs aléatoires pour envoyer la demande de révision du code. Dans le fichier config.json, ajoutons les développeurs associés au projet qui peuvent examiner le code. Voici le fichier config.json modifié:

Lisez les informations du développeur relatives à un projet particulier. Définissez une variable publique appelée project_members.

Lors de la lecture des configurations du projet, remplissez les détails du membre du projet dans la variable de la liste des project_members.

Maintenant, vous avez la liste des développeurs liée à un projet particulier dans la variable project_members.

Définissez une méthode appelée schedule_review_request que vous appelez pour planifier la demande de révision correspondant à chaque engagement de projet. La demande de révision sera envoyée à un développeur aléatoire à partir de la liste project_members, à l'exclusion de l'auteur de la validation.

Créez une méthode appelée select_reviewer pour sélectionner le développeur aléatoire à partir de la liste project_members. Pour sélectionner des développeurs aléatoires dans la liste, vous utiliserez le module random Python. Importez le module random Python.

Voici comment le code devrait être:

Comme on l'a vu dans le code ci-dessus, l'auteur de la validation a été supprimé de la liste des développeurs avant de sélectionner les développeurs aléatoires pour examiner le code. Pour sélectionner des développeurs aléatoires dans la liste, vous avez utilisé la méthode random.choice du module random.

Dans la méthode schedule_review_request, répétez par chaque commit de la liste des commit. Pour chaque validation, sélectionnez un développeur aléatoire autre que l'auteur du commit pour envoyer la demande de révision. Voici comment le code devrait être:

Formatez la demande de révision du code

Vous avez sélectionné les développeurs aléatoires pour envoyer la demande de révision du code. Avant d'envoyer la demande de révision, vous devez la formater avec des détails sur la demande de révision. Définissez une méthode appelée format_review_commit qui formatera la demande de révision du code. Voici comment le code devrait être:

Dans la méthode schedule_review_request, créez le contenu du courrier électronique de demande de révision qui sera envoyé au relecteur. Le contenu du courrier électronique contiendra les informations requises pour que l'évaluateur révise le code commit. Modifiez le message schedule_review_request comme indiqué:

Enregistrez les modifications ci-dessus et exécutez le programme Python scheduler.

Vous devriez pouvoir afficher une sortie similaire à celle ci-dessous:

Code Review Scheduler Output

Envoi électronique de la demande de révision du code

Créez une méthode appelée send_email qui vous enverra par courrier électronique la demande de révision avec le sujet et le contenu requis. Vous allez utiliser le module smtplib pour envoyer les emails. Importez smptlib dans le fichier scheduler.py:

Définissez les détails du serveur de messagerie ainsi que les variables publiques:

Créez une méthode appelée send_email qui enverra l'adresse électronique à l'adresse spécifiée. Voici comment apparaitrait le code send_email:

Comme on l'a vu dans le code ci-dessus, vous avez créé le serveur smtp à l'aide du serveur Gmail et du numéro de port. En utilisant le nom d'utilisateur et le mot de passe définis, vous vous êtes connecté au compte de messagerie et envoyé le courrier électronique au destinataire.

Modifiez la méthode schedule_review_request pour envoyer l'email au lieu d'imprimer le contenu du courrier électronique sur le terminal.

Enregistrez les modifications ci-dessus. Modifiez le fichier config.json pour inclure une adresse e-mail valide que vous pouvez vérifier. Exécutez le planificateur à l'aide de la commande suivante:

Vous devriez pouvoir voir la sortie suivante sur le terminal:

Code Review Request Sending Output

Vérifiez l'adresse e-mail pour voir la demande de révision du code envoyée par l'ordonnanceur de révision du code.

Finissons-en

Dans cette partie de la série Python Code Review Scheduler, vous avez collecté les informations de validation dans une liste. La liste de validation a également été émise pour formater la demande de révision. Les développeurs aléatoires ont été choisis pour envoyer la demande de révision du code.

Dans la prochaine partie de cette série, vous verrez comment suivre la demande de révision du code.

Le code source de ce tutoriel est disponible sur GitHub.

J'espère que vous avez apprécié cette partie. Faites-nous part de vos réflexions dans les commentaires ci-dessous.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.