Python コードレビュースケジューラーの構築: レビューのフォローアップ
このシリーズのパート 3 では、後の処理のためにコード レビュー リクエスト情報を保存する方法を学習しました。 read_email
というメソッドを作成して、受信トレイから電子メールを取得し、レビュー担当者がコード レビュー リクエストに応答したかどうかを確認します。また、コード レビュー スケジューラ コードにエラー処理も実装しました。
シリーズのこのパートでは、保存したコード レビュー情報と電子メールの情報を使用して、レビュー担当者がレビュー リクエストに応答したかどうかを確認します。リクエストに応答がない場合は、レビュー担当者にフォローアップの電子メールを送信します。
使い始める
まず、このチュートリアル シリーズの第 3 部のソース コードのクローンを作成します。
リーリーconfig.json
ファイルを変更して関連する電子メール アドレスをいくつか追加し、royagasthyan@gmail.com
電子メール アドレスを保持します。これは、git にはこの特定の電子メール アドレスに関連付けられたコミットがあり、コードが期待どおりに実行されるためにはこれが必要であるためです。 schedule.py
ファイル内の SMTP
資格情報を変更します:
プロジェクト ディレクトリ CodeReviewer
に移動し、ターミナルで次のコマンドを実行してみてください。
コード レビュー リクエストをレビューのためにランダムな開発者に送信し、レビュー情報を含む reviewer.json
ファイルを作成する必要があります。
後続のリクエストを実装する
まず、followup_request
という名前のフォローアップ リクエスト メソッドを作成します。 followup_request
メソッド内で、reviewer.json
ファイルを読み取り、内容をリストに保存します。コードは以下のように表示されます:
次に、前のチュートリアルで実装した read_email
メソッドを使用して電子メール情報を抽出します。
レビュー担当者がレビュー リクエストに返信した場合は、同じ件名とその前に Re:
タグが付いているメールが送信されます。したがって、レビュー メッセージのリストを繰り返し処理し、レビューの件名と電子メールの件名を比較して、レビュー担当者がリクエストに応答したかどうかを確認します。
上記のコードに示すように、review_info
リストを繰り返し、レビュー情報のトピックを電子メールの件名と照合して、レビュー担当者が返信したかどうかを確認します。
レビュー担当者がコード レビュー リクエストに応答した後は、特定のレビュー情報を reviewer.json
ファイルに保持する必要はありません。したがって、Delete_Info
という名前の Python メソッドを作成して、reviewer.json
ファイルから特定のレビュー情報を削除します。 Delete_Info
は次のようになります:
上記のコードに示されているように、レビュー情報のリストを繰り返し処理し、ID に一致するエントリを削除しました。ファイルから情報を削除した後、リストに戻ります。
コメント メッセージに返信するときは、Delete_Info
メソッドを呼び出す必要があります。 Delete_Info
メソッドを呼び出すときは、元の情報リストを変更しないように、review_info
のコピーを渡す必要があります。後で比較するために、元のレビュー情報リストが必要になります。したがって、copy
Python モジュールをインポートして、コメント メッセージの元のリストのコピーを作成します。
review_info
リストのコピーを作成します。
返信されたコメント情報を元のリストから削除する場合は、コピーしたリストを Delete_Info
メソッドに渡します。
これは followup_request
メソッド:
ここで、review_info
リストが繰り返されたら、reviewer.json
ファイルに変更があるかどうかを確認する必要があります。既存のレビュー情報が削除された場合は、それに応じて reviewer.json
ファイルを更新する必要があります。したがって、review_info_copy
と review_info
が同じかどうかを確認し、reviewer.json
ファイルを更新します。
これは完全な followup_request
メソッドです:
followup_request
メソッドを呼び出して、送信された監査リクエストをフォローアップします。
上記の変更を保存します。後続の機能をテストするには、プロジェクト ディレクトリから reviewer.json
ファイルを削除してください。次に、スケジューラを実行して、ランダムな開発者にコード レビュー リクエストを送信します。この情報が reviewer.json
ファイルに保存されていることを確認してください。
特定の開発者に、電子メールに返信することでコード レビュー リクエストに応答するよう要求します。ここでスケジューラを再度実行すると、今度はスケジューラが応答を見つけて、reviewer.json
ファイルから削除できるはずです。
发送提醒电子邮件
审核者回复代码审核请求电子邮件后,需要从 reviewer.json
文件中删除该信息,因为您不需要进一步跟踪它。如果审核者尚未回复代码审核请求,您需要发送后续邮件提醒他或她审核请求。
代码审查调度程序将每天运行。当它运行时,您首先需要检查开发人员响应审核请求是否已经过去了一定时间。在项目配置中,您可以设置一个审核周期,在此期间,如果审核者没有回复,调度程序将发送提醒电子邮件。
让我们首先在项目配置中添加配置。在配置文件中添加一个名为 followup_Frequency
的新配置。
{ "name": "project_x", "git_url": "https://github.com/royagasthyan/project_x", "followup_frequency":2, "members": [ "royagasthyan@gmail.com", "samon@gmail.com", "sualonni@gmail.com", "restuni@gmail.com" ] }
因此,当审阅者在 followup_Frequency
天数内没有回复时,您将发送一封提醒电子邮件。读取配置的同时将配置读入全局变量:
for p in main_config: if p['name'] == project: project_url = p['git_url'] project_members = p['members'] followup_frequency = p['followup_frequency'] break
在 followup_request
方法内部,当审稿人在 followup_frequest
天数内没有回复后续请求时,发送提醒邮件。计算自评论发送以来的天数。
review_date = datetime.datetime.strptime(review['sendDate'],'%Y-%m-%d') today = datetime.datetime.today() days_since_review = (today - review_date).days
如果天数大于配置中的后续频率日期,请发送提醒电子邮件。
if not review_replied: if days_since_review > followup_frequency: send_email(review['reviewer'],'Reminder: ' + review['subject'],'\nYou have not responded to the review request\n')
这是完整的 followup_request
方法:
def followup_request(): with open('reviewer.json','r') as jfile: review_info = json.load(jfile) review_info_copy = copy(review_info) email_info = read_email(no_days) for review in review_info: review_date = datetime.datetime.strptime(review['sendDate'],'%Y-%m-%d') today = datetime.datetime.today() days_since_review = (today - review_date).days review_replied = False expected_subject = 'Re: ' + review['subject'] for email in email_info: if expected_subject == email['Subject']: review_replied = True review_info_copy = Delete_Info(review_info_copy,review['id']) break; if not review_replied: if days_since_review > followup_frequency: send_email(review['reviewer'],'Reminder: ' + review['subject'],'\nYou have not responded to the review request\n') if review_info_copy != review_info: with open('reviewer.json','w') as outfile: json.dump(review_info_copy,outfile)
总结
在本教程中,您了解了如何实现跟进代码审核请求的逻辑。您还添加了如果审阅者在一定天数内没有回复电子邮件的情况下发送提醒电子邮件的功能。
这个 Python 代码审查器可以进一步增强以满足您的需求。请分叉存储库并添加新功能,并在下面的评论中告诉我们。
本教程的源代码可在 GitHub 上获取。
以上がPython コードレビュースケジューラーの構築: レビューのフォローアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









コードレビューの練習に Go 言語を使用する方法 はじめに: ソフトウェア開発プロセスにおいて、コードレビュー (CodeReview) は重要な練習です。チームメンバーは、お互いのコードをレビューして分析することで、潜在的な問題を特定し、コードの品質を向上させ、チームワークを高め、知識を共有することができます。この記事では、コードレビューの実践に Go 言語を使用する方法を紹介し、コード例を添付します。 1. コード レビューの重要性 コード レビューは、コードの品質を向上させるためのベスト プラクティスです。コード内の潜在的なエラーを見つけて修正し、コードを改善します。

Python 開発経験の共有: コード レビューと品質保証の実施方法 はじめに: ソフトウェア開発プロセスにおいて、コード レビューと品質保証は重要なリンクです。優れたコードレビューにより、コードの品質が向上し、エラーや欠陥が減少し、プログラムの保守性と拡張性が向上します。この記事では、Python 開発におけるコードレビューと品質保証の経験を次の側面から共有します。 1. コード レビュー仕様の作成 コード レビューは、コードの包括的な検査と評価を必要とする体系的な活動です。コードレビューを標準化するには

Java 開発でコード レビューとパフォーマンスの最適化を行う方法には、具体的なコード サンプルが必要です。日常の Java 開発プロセスにおいて、コード レビューとパフォーマンスの最適化は非常に重要なリンクです。コードレビューによりコードの品質と保守性が保証され、パフォーマンスの最適化によりシステムの動作効率と応答速度が向上します。この記事では、Java コードのレビューとパフォーマンスの最適化を行う方法と、具体的なコード例を紹介します。コード レビュー コード レビューは、作成されたコードを 1 行ずつチェックし、潜在的な問題やエラーを修正するプロセスです。次の

はい、コードレビューと継続的インテグレーションを組み合わせることで、コードの品質と配信効率を向上させることができます。具体的なツールには次のものがあります。 PHP_CodeSniffer: コーディング スタイルとベスト プラクティスを確認します。 PHPStan: エラーと未使用の変数を検出します。 Psalm: 型チェックと高度なコード分析を提供します。

C# 開発プロセスでは、コードの品質保証が非常に重要です。コードの品質は、ソフトウェアの安定性、保守性、拡張性に直接影響します。コードレビューは重要な品質保証手法として、ソフトウェア開発において無視できない役割を果たしています。この記事では、開発者がコードの品質を向上できるように、C# 開発におけるコード レビューの考慮事項に焦点を当てます。 1. レビューの目的と意義 コードレビューとは、コードを注意深く読んで検査することによって、既存の問題や誤りを発見し、修正するプロセスを指します。その主な目的は、

React コード レビュー ガイド: フロントエンド コードの品質と保守性を確保する方法 はじめに: 今日のソフトウェア開発では、フロントエンド コードの重要性がますます高まっています。 React は、人気のあるフロントエンド開発フレームワークとして、さまざまな種類のアプリケーションで広く使用されています。ただし、React の柔軟性とパワーにより、高品質で保守可能なコードを書くことが困難になる場合があります。この問題に対処するために、この記事では React コード レビューのベスト プラクティスをいくつか紹介し、いくつかの具体的なコード例を示します。 1. コードスタイル

GitLab でコード レビューとマージ リクエストを実施する方法 コード レビューは、チームが潜在的な問題を特定し、コードの品質を向上させるのに役立つ重要な開発手法です。 GitLabではマージリクエスト(MergeRequest)機能により、コードレビューやマージ作業を簡単に行うことができます。この記事では、GitLab でコード レビューを実行し、リクエストをマージする方法について、具体的なコード例を示しながら説明します。準備: GitLab プロジェクトを作成し、関連するファイルがあることを確認してください。

C++ コードのコードレビューを行うにはどうすればよいですか?コード レビューはソフトウェア開発プロセスの非常に重要な部分であり、開発チームが潜在的なエラーを特定して修正し、コードの品質を向上させ、その後のメンテナンスやデバッグの作業負荷を軽減するのに役立ちます。 C++ のような強く型付けされた静的言語では、コード レビューが特に重要です。ここでは、効果的な C++ コード レビューを実施するために役立つ重要な手順と考慮事項をいくつか示します。コード レビュー標準を設定する: コード レビューを実施する前に、チームは共同でコード レビュー標準を開発し、さまざまなエラーや違反について合意する必要があります。
