Community Reviews

Symfony is an open-source project driven by a large community. If you don't feel ready to contribute code or patches, reviewing issues and pull requests (PRs) can be a great start to get involved and give back. In fact, people who "triage" issues are the backbone to Symfony's success!

Symfony は、大規模なコミュニティによって推進されているオープンソース プロジェクトです。コードやパッチを提供する準備が整っていない場合は、Issue やプル リクエスト (PR) をレビューすることから、参加して恩返しをすることができます。実際、問題を「トリアージ」する人々は、Symfony の成功のバックボーンです!

Note

ノート

Communicating in a way where your words come across as intended can be difficult. Please read through the Respectful Review Comments guidelines.

自分の言葉が意図したとおりに伝わるようにコミュニケーションすることは、難しい場合があります。 Respectful Review Commentsガイドラインをお読みください。

Why Reviewing Is Important

Community reviews are essential for the development of the Symfony framework, since there are many more pull requests and bug reports than there are members in the Symfony core team to review, fix and merge them.

コミュニティ レビューは Symfony フレームワークの開発に不可欠です。Symfony コア チームのメンバーよりも多くのプル リクエストとバグ レポートがレビュー、修正、およびマージされるためです。

On the Symfony issue tracker, you can find many items in a Needs Review status:

Symfony イシュー トラッカーでは、要レビュー ステータスで多くのアイテムを見つけることができます。
  • Bug Reports: Bug reports need to be checked for completeness. Is any important information missing? Can the bug be reproduced?
    バグ レポート: バグ レポートが完全であることを確認する必要があります。重要な情報が不足していませんか?バグは再現できますか?
  • Pull Requests: Pull requests contain code that fixes a bug or implements new functionality. Reviews of pull requests ensure that they are implemented properly, are covered by test cases, don't introduce new bugs and maintain backward compatibility.
    プル リクエスト: プル リクエストには、バグを修正するコードや新しい機能を実装するコードが含まれています。プル リクエストのレビューにより、それらが適切に実装されていること、テスト ケースでカバーされていること、新しいバグが導入されていないこと、後方互換性が維持されていることが確認されます。

Note that anyone who has some basic familiarity with Symfony and PHP can review bug reports and pull requests. You don't need to be an expert to help.

Symfony と PHP の基本的な知識があれば、誰でもバグ レポートとプル リクエストを確認できます。専門家である必要はありません。

Be Constructive

Before you begin, remember that you are looking at the result of someone else's hard work. A good review comment thanks the contributor for their work, identifies what was done well, identifies what should be improved and suggests a next step.

始める前に、あなたが見ているのは他人の懸命な努力の結果であることを思い出してください。良いレビューコメントは、寄稿者の仕事に感謝し、何がうまくいったかを特定し、何を改善すべきかを特定し、次のステップを提案します.

Create a GitHub Account

Symfony uses GitHub to manage bug reports and pull requests. If you want to do reviews, you need to create a GitHub account and log in.

Symfony は GitHub を使用してバグ レポートとプル リクエストを管理します。 todo レビューが必要な場合は、GitHub アカウントを作成してログインする必要があります。

The Bug Report Review Process

A good way to get started with reviewing is to pick a bug report from the bug reports in need of review.

レビューを開始する良い方法は、レビューが必要なバグ レポートからバグ レポートを選択することです。

The steps for the review are:

レビューの手順は次のとおりです。
  1. Is the Report Complete?

    レポートは完成していますか?

    Good bug reports contain a link to a project (the "reproduction project") created with the Symfony skeleton or the Symfony website skeleton that reproduces the bug. If it doesn't, the report should at least contain enough information and code samples to reproduce the bug.

    良いバグ レポートには、バグを再現する Symfony スケルトンまたは Symfony Web サイト スケルトンで作成されたプロジェクト (「再現プロジェクト」) へのリンクが含まれています。そうでない場合、レポートには少なくともバグを再現するのに十分な情報とコード サンプルが含まれている必要があります。
  2. Reproduce the Bug

    バグを再現

    Download the reproduction project and test whether the bug can be reproduced on your system. If the reporter did not provide a reproduction project, create one based on one Symfony skeleton (or the Symfony website skeleton).

  3. Update the Issue Status

    問題のステータスを更新する

    At last, add a comment to the bug report. Thank the reporter for reporting the bug. Include the line Status: <status> in your comment to trigger our Carson Bot which updates the status label of the issue. You can set the status to one of the following:

    最後に、バグ レポートにコメントを追加します。バグを報告してくれたレポーターに感謝します。コメントに Status: 行を含めて、問題のステータス ラベルを更新する Carson Bot をトリガーします。ステータスを次のいずれかに設定できます。

    Needs Work If the bug does not contain enough information to be reproduced, explain what information is missing and move the report to this status.

    Needs Work バグに再現するのに十分な情報が含まれていない場合は、欠落している情報を説明し、レポートをこのステータスに移動します。

    Works for me If the bug does contain enough information to be reproduced but works on your system, or if the reported bug is a feature and not a bug, provide a short explanation and move the report to this status.

    Works for me 再現するのに十分な情報がバグに含まれているがシステムで機能する場合、または報告されたバグがバグではなく機能である場合は、簡単な説明を提供してレポートをこのステータスに移動します。

    Reviewed If you can reproduce the bug, move the report to this status. If you created a reproduction project, include the link to the project in your comment.

    レビュー済み バグを再現できる場合は、レポートをこのステータスに移動します。再現プロジェクトを作成した場合は、プロジェクトへのリンクをコメントに含めてください。

Example

Here is a sample comment for a bug report that could be reproduced:

以下は、再現可能なバグ レポートのコメントの例です。
1
2
3
4
5
Thank you @weaverryan for creating this bug report! This indeed looks
like a bug. I reproduced the bug in the "kernel-bug" branch of
https://github.com/webmozart/some-project.

Status: Reviewed

The Pull Request Review Process

The process for reviewing pull requests (PRs) is similar to the one for bug reports. Reviews of pull requests usually take a little longer since you need to understand the functionality that has been fixed or added and find out whether the implementation is complete.

プル リクエスト (PR) をレビューするプロセスは、バグレポートのプロセスと似ています。プル リクエストのレビューは、修正または追加された機能を理解し、実装が完了しているかどうかを確認する必要があるため、通常はもう少し時間がかかります。

It is okay to do partial reviews! If you do a partial review, comment how far you got and leave the PR in the "Needs Review" state.

部分的なレビューでもOK!部分的なレビューを行う場合は、どこまで到達したかをコメントし、PR を「要レビュー」状態のままにします。

Pick a pull request from the PRs in need of review and follow these steps:

レビューが必要な PR からプル リクエストを選択し、次の手順に従います。
  1. Is the PR Complete?

    PRは完了していますか?

    Every pull request must contain a header that gives some basic information about the PR. You can find the template for that header in the Contribution Guidelines.

    すべてのプル リクエストには、PR に関する基本的な情報を提供するヘッダーが含まれている必要があります。そのヘッダーのテンプレートは投稿ガイドラインにあります。
  2. Is the Base Branch Correct?

    ベースブランチは正しいですか?

    GitHub displays the branch that a PR is based on below the title of the pull request. Is that branch correct?

    GitHub では、プル リクエストのタイトルの下に、PR が基づいているブランチが表示されます。その枝は正しいですか?
    • Bugs should be fixed in the oldest, maintained version that contains the bug. Check Symfony's Release Schedule to find the oldest currently supported version.
      バグは、バグを含む最も古い保守バージョンで修正する必要があります。現在サポートされている最も古いバージョンを見つけるには、Symfony のリリース スケジュールを確認してください。
    • New features should always be added to the current development version. Check the Symfony Roadmap to find the current development version.
      新機能は常に現在の開発バージョンに追加する必要があります。現在の開発バージョンを見つけるには、Symfony ロードマップを確認してください。
  3. Reproduce the Problem

    問題を再現する

    Read the issue that the pull request is supposed to fix. Reproduce the problem on a new project created with the Symfony skeleton (or the Symfony website skeleton) and try to understand why it exists. If the linked issue already contains such a project, install it and run it on your system.

    プルリクエストで修正されるはずの問題を読んでください。 Symfony スケルトン (または Symfony Web サイト スケルトン) で作成された新しいプロジェクトで問題を再現し、なぜそれが存在するのかを理解してみてください。リンクされた問題にそのようなプロジェクトが既に含まれている場合は、それをインストールしてシステムで実行します。
  4. Review the Code

    コードを確認する

    Read the code of the pull request and check it against some common criteria:

    プル リクエストのコードを読み、いくつかの一般的な基準に照らしてチェックします。
    • Does the code address the issue the PR is intended to fix/implement?
      コードは、PR が修正/実装しようとしている問題に対処していますか?
    • Does the PR stay within scope to address only that issue?
      PR は、その問題のみに対処する範囲内にとどまりますか?
    • Does the PR contain automated tests? Do those tests cover all relevant edge cases?
      PR には自動化されたテストが含まれていますか?これらのテストは、関連するすべてのエッジ ケースをカバーしていますか?
    • Does the PR contain sufficient comments to understand its code?
      PR には、そのコードを理解するのに十分なコメントが含まれていますか?
    • Does the code break backward compatibility? If yes, does the PR header say so?
      コードは後方互換性を壊していますか?はいの場合、PR ヘッダーはそう言っていますか?
    • Does the PR contain deprecations? If yes, does the PR header say so? Does the code contain trigger_deprecation() statements for all deprecated features?
      PR には廃止予定が含まれていますか?はいの場合、PR ヘッダーはそう言っていますか?コードには、非推奨のすべての機能に対する trigger_deprecation() ステートメントが含まれていますか?
    • Are all deprecations and backward compatibility breaks documented in the latest UPGRADE-X.X.md file? Do those explanations contain "Before"/"After" examples with clear upgrade instructions?
      最新の UPGRADE-X.X.md ファイルにすべての非推奨事項と下位互換性の問題が記載されていますか?それらの説明には、明確なアップグレード手順を含む「前」/「後」の例が含まれていますか?

    Note

    ノート

    Eventually, some of these aspects will be checked automatically.

    最終的に、これらの側面のいくつかは自動的にチェックされます。
  5. Test the Code

    コードをテストする

    Take your project from step 3 and test whether the PR works properly. Replace the Symfony project in the vendor directory by the code in the PR by running the following Git commands. Insert the PR ID (that's the number after the # in the PR title) for the <ID> placeholders:

    ステップ 3 のプロジェクトを取得し、PR が適切に機能するかどうかをテストします。次の Git コマンドを実行して、ベンダー ディレクトリの Symfony プロジェクトを PR のコードに置き換えます。プレースホルダーの PR ID (PR タイトルの # の後の番号) を挿入します。
    1
    2
    3
    $ cd vendor/symfony/symfony
    $ git fetch origin pull//head:pr
    $ git checkout pr

    For example:

    例えば:
    1
    2
    $ git fetch origin pull/15723/head:pr15723
    $ git checkout pr15723

    Now you can test the project against the code in the PR.

    これで、PR のコードに対してプロジェクトをテストできます。
  6. Update the PR Status

    PR ステータスの更新

    At last, add a comment to the PR. Thank the contributor for working on the PR. Include the line Status: <status> in your comment to trigger our Carson Bot which updates the status label of the issue. You can set the status to one of the following:

    最後に、PR にコメントを追加します。 thePR に取り組んでくれた貢献者に感謝します。問題のステータス ラベルを更新する ourCarson Bot をトリガーするには、コメントに Status: 行を含めます。ステータスを次のいずれかに設定できます。

    Needs Work If the PR is not yet ready to be merged, explain the issues that you found and move it to this status.

    作業が必要 PR をマージする準備がまだできていない場合は、見つかった問題について説明し、このステータスに移行します。

    Reviewed If the PR satisfies all the checks above, move it to this status. A core contributor will soon look at the PR and decide whether it can be merged or needs further work.

    PR が上記のすべてのチェックを満たしている場合、PR をこのステータスに移動します。コア コントリビューターはすぐに PR を見て、マージできるかどうか、またはさらに作業が必要かどうかを判断します。

Example

Here is a sample comment for a PR that is not yet ready for merge:

以下は、まだマージの準備ができていない PR のサンプル コメントです。
1
2
3
4
5
Thank you @weaverryan for working on this! It seems that your test
cases don't cover the cases when the counter is zero or smaller.
Could you please add some tests for that?

Status: Needs Work