目次
使い始める
後続のリクエストを実装する
发送提醒电子邮件
总结
ホームページ バックエンド開発 Python チュートリアル Python コードレビュースケジューラーの構築: レビューのフォローアップ

Python コードレビュースケジューラーの構築: レビューのフォローアップ

Aug 30, 2023 pm 08:09 PM
コードレビュー スケジューラ フォローアップをレビューする

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_copyreview_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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

コードレビューの練習に Go 言語を使用する方法 コードレビューの練習に Go 言語を使用する方法 Aug 02, 2023 pm 11:10 PM

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

Python 開発経験の共有: コードレビューと品質保証の実施方法 Python 開発経験の共有: コードレビューと品質保証の実施方法 Nov 22, 2023 am 08:18 AM

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

Java開発でコードレビューとパフォーマンスの最適化を行う方法 Java開発でコードレビューとパフォーマンスの最適化を行う方法 Oct 10, 2023 pm 03:05 PM

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

PHP コードレビューと継続的インテグレーション PHP コードレビューと継続的インテグレーション May 06, 2024 pm 03:00 PM

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

C# 開発ノート: コード レビューと品質保証 C# 開発ノート: コード レビューと品質保証 Nov 22, 2023 pm 05:00 PM

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

React コード レビュー ガイド: フロントエンド コードの品質と保守性を確保する方法 React コード レビュー ガイド: フロントエンド コードの品質と保守性を確保する方法 Sep 27, 2023 pm 02:45 PM

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

GitLab でコードレビューとマージリクエストを行う方法 GitLab でコードレビューとマージリクエストを行う方法 Oct 20, 2023 pm 04:03 PM

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

C++ コードのコードレビューを行うにはどうすればよいですか? C++ コードのコードレビューを行うにはどうすればよいですか? Nov 02, 2023 am 09:12 AM

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

See all articles