「プルリクエストのレビュー」の版間の差分

提供: iDempiere ja
移動先:案内検索
 
(同じ利用者による、間の5版が非表示)
31行目: 31行目:
 
コードがよく書かれていること、プロジェクトのガイドラインやベストプラクティスを満たしていることを確認したら、ローカル環境にコードを引っ張り出してテストします。
 
コードがよく書かれていること、プロジェクトのガイドラインやベストプラクティスを満たしていることを確認したら、ローカル環境にコードを引っ張り出してテストします。
  
== Review Functionality ==
+
== 機能のレビュー ==
In your local environment run:
+
あなたのローカル環境で実行して下さい。:
 
  git checkout master
 
  git checkout master
 
  git pull upstream master
 
  git pull upstream master
38行目: 38行目:
 
  git pull --no-commit https://github.com/(pullrequest-github-user)/idempiere.git IDEMPIERE-(Jira-ticket-number) (for example: git pull --no-commit https://github.com/globalqss/idempiere.git IDEMPIERE-1848) <small>1</small>
 
  git pull --no-commit https://github.com/(pullrequest-github-user)/idempiere.git IDEMPIERE-(Jira-ticket-number) (for example: git pull --no-commit https://github.com/globalqss/idempiere.git IDEMPIERE-1848) <small>1</small>
  
<small>1</small> ''Sometimes even when you specify --no-commit, git adds the commit to your log. If that is the case, check with git log and run git reset --soft HEAD~ to remove the commit from the log and keep your tree clean.''
+
<small>1</small> ''--no-commit を指定していても、git がコミットをログに追加してしまうことがあります。そのような場合は、git のログを確認して git reset --soft HEAD~ を実行すると、ログからコミットを削除してツリーをきれいに保つことができます。''
  
 
<br><br>
 
<br><br>
Once you have the changes in your local environment.
+
一度、ローカル環境の変化を把握しておきましょう。
# Apply the migration scripts if necessary.
+
# 必要に応じてマイグレーションスクリプトを適用して下さい。
# Run iDempiere and '''TEST'''.
+
# iDempiereを起動して'''テスト'''して下さい。
# Test every possible scenario, do not only test what was intended to be solved with the ticket but verify also that previous functionality is not affected by the commit. The system should behave as before except for the new addition.
+
# 可能な限りのシナリオをテストしてください。そのチケットで解決しようとしていたことをテストするだけでなく、以前の機能がコミットの影響を受けていないかどうかも確認してください。システムは、新たに追加された以外は以前と同じように動作するはずです。
  
Revert everything to keep master clean.
+
マスターをクリーンに保つためにすべてを元に戻して下さい。
  
After you've performed your review, report your findings on the Jira ticket, or add a comment directly to the pull request.
+
レビューを実行した後は、Jira チケットで発見したことを報告したり、プルリクエストに直接コメントを追加したりしてください。
  
You can be as specific as possible, describing what you've tested and the results.
+
テストした内容と結果をできるだけ具体的に記述して下さい。
  
If you found any issues, comment on what you've found and how you think it could be solved if you have any suggestions.
+
何か問題点が見つかった場合は、何か提案があれば、それをどのように解決できると思うかコメントしてください。
  
If the results are positive, comment that you've tested the ticket and you find the solution to be OK.
+
結果が肯定的な場合は、チケットをテストしてみて、解決策が問題ないことがわかったとコメントしてください。
  
= TL;DR; =
+
= TL;DR;(Too Long, Didn't Read 長すぎると読まれません-> 要約) =
# Choose one of the [https://github.com/idempiere/idempiere/pulls open pull requests].
+
# [https://github.com/idempiere/idempiere/pulls オープンなプルリクエスト]をひとつ選んで下さい。
 
# Do a code review based on the project's guidelines to [[Contributing to Trunk|contribute to the trunk]].
 
# Do a code review based on the project's guidelines to [[Contributing to Trunk|contribute to the trunk]].
# Test the ticket's functionality.
+
# チケットの機能をテストして下さい。
# Make sure there is no collateral damage or security breaches caused by the ticket.
+
# チケットによる巻き添え被害やセキュリティ違反がないことを確認してください。
# Report your findings on JIRA or directly to the pull request.
+
# 発見したことを JIRA に報告するか、プルリクエストに直接報告してください。
  
 
<br><br>
 
<br><br>
'''I recommend you to test thoughtfully and be completely honest about what you did and what you didn't do. This is an open-source community, you have many eyes on you and your reputation will benefit or get hurt depending on what you do.'''
+
'''思慮深くテストし、何をしたか、何をしなかったかについて完全に正直になることをお勧めします。これはオープンソースのコミュニティであり、あなたは多くの目で見られており、あなたの評判はあなたが何をするかによって利益を得たり傷ついたりします。'''
  
  
 
[[en:Pull Request Review]]
 
[[en:Pull Request Review]]

2021年1月11日 (月) 13:16時点における最新版

プロジェクトには多くのプルリクエストがプッシュされており、それらをレビューしたりテストしたりすることでコアチームを支援することができます。

このWikiでは、この作業をどのように支援するかを説明したいと思います。

なぜこれが重要なのか?
2020年4月以降、ブルリクエストはプロジェクトへのコードの貢献のデフォルトの方法(Fork and Branch Git ワークフロー)となっています。ご存知のように、iDempiereはオープンソースのソフトウェアプロジェクトであり、コードはプロジェクトの最も重要な部分です。これらのバグ修正や機能追加は、コードが適切に書かれていれば、コミュニティの全員に利益をもたらします。

iDempiereのリーダーたちは、最高品質のコードを維持することを重視しています。彼らは、トランクに入るものや変更すべきものをレビューし、フィルタリングすることで、これを実現しています。問題は、プロジェクトが多くのリクエストを受ければ受けるほど、キューが長くなり、時間の経過とともに迷走するリクエストが出てくることです。

プルリクエストをレビューすることで、最初のフィルタになることができ、適切に実行すれば、リーダーの肩から多くの作業を省くことができ、重要なコードをより早くトランクに入れることができます。

プルリクエストをレビューするには?

コードがトランクに入る前にレビューしなければならないことはたくさんありますが、大まかには2つにまとめることができます。

  1. コードはきちんと書かれていて、付随的な損害やセキュリティ侵害をもたらさないか?
  2. コードは意図した通りの動作をしているか?

ローカル環境に何も足さなくてもできることは、まずコードを見直すことです。

コードレビュー

  • オープンになっているプルリクエストから、1つを選んで下さい。
  • プルリクエストに対して行われたコミットのリストを開くと、開発者によって行われたコードの変更を見ることができます。
  • Check that the submitted code complies with the project guidelines to contribute to the trunk. The main points to consider are:
    • PostgreSQL と Oracle の両方で動作しなければなりません。
    • 可能な限りSQLコードの使用を避け、代わりにモデルクラスを使用してください。
    • データベースに変更があった場合は、移行スクリプトが存在します。
    • DBにSQLでアクセスする際には、すべてのカーソルは"finally"句で、閉じなければなりません。
    • コードはすべて英語で書かれています。
    • プルリクエストは目的(例えば、リファクタリングと新機能など)を混在させることなく、チケットの目的に対応するために必要なクラスのみを変更します。

コードがよく書かれていること、プロジェクトのガイドラインやベストプラクティスを満たしていることを確認したら、ローカル環境にコードを引っ張り出してテストします。

機能のレビュー

あなたのローカル環境で実行して下さい。:

git checkout master
git pull upstream master
git push
git pull --no-commit https://github.com/(pullrequest-github-user)/idempiere.git IDEMPIERE-(Jira-ticket-number) (for example: git pull --no-commit https://github.com/globalqss/idempiere.git IDEMPIERE-1848) 1

1 --no-commit を指定していても、git がコミットをログに追加してしまうことがあります。そのような場合は、git のログを確認して git reset --soft HEAD~ を実行すると、ログからコミットを削除してツリーをきれいに保つことができます。



一度、ローカル環境の変化を把握しておきましょう。

  1. 必要に応じてマイグレーションスクリプトを適用して下さい。
  2. iDempiereを起動してテストして下さい。
  3. 可能な限りのシナリオをテストしてください。そのチケットで解決しようとしていたことをテストするだけでなく、以前の機能がコミットの影響を受けていないかどうかも確認してください。システムは、新たに追加された以外は以前と同じように動作するはずです。

マスターをクリーンに保つためにすべてを元に戻して下さい。

レビューを実行した後は、Jira チケットで発見したことを報告したり、プルリクエストに直接コメントを追加したりしてください。

テストした内容と結果をできるだけ具体的に記述して下さい。

何か問題点が見つかった場合は、何か提案があれば、それをどのように解決できると思うかコメントしてください。

結果が肯定的な場合は、チケットをテストしてみて、解決策が問題ないことがわかったとコメントしてください。

TL;DR;(Too Long, Didn't Read 長すぎると読まれません-> 要約)

  1. オープンなプルリクエストをひとつ選んで下さい。
  2. Do a code review based on the project's guidelines to contribute to the trunk.
  3. チケットの機能をテストして下さい。
  4. チケットによる巻き添え被害やセキュリティ違反がないことを確認してください。
  5. 発見したことを JIRA に報告するか、プルリクエストに直接報告してください。



思慮深くテストし、何をしたか、何をしなかったかについて完全に正直になることをお勧めします。これはオープンソースのコミュニティであり、あなたは多くの目で見られており、あなたの評判はあなたが何をするかによって利益を得たり傷ついたりします。

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。