CONTRIBUTING.mdでのコードレビューガイドライン

CONTRIBUTING.mdにコードレビューガイドラインを追加。レビュアーの期待、フィードバックのエチケット、承認基準、リクエストされた変更への対応方法をカバー。

Processes

詳細な説明

コードレビューガイドラインの作成

明確なコードレビューの期待は、レビュアーとコントリビューターの両方にメリットがあります。摩擦を減らし、レビュープロセスを加速し、一貫した品質を維持します。

コントリビューター(PR著者)向け

レビューを依頼する前に:

  • 自分のPRを自分でまずレビューする
  • すべてのCIチェックが通過することを確認する
  • 何をそしてなぜを説明する明確なPR説明を書く
  • PRを集中させる:PRごとに1つの機能または修正
  • UI変更にはスクリーンショットを追加する

レビュー中:

  • 確認のためだけであっても、すべてのフィードバックに応答する
  • フィードバックが不明確な場合は説明を求める
  • フィードバックを個人的に受け取らない -- コードについてです
  • レビュー中は新しいコミットとして修正をプッシュする(マージ時にsquash)

レビュアー向け

レビューの優先事項:

  1. 正確性 -- コードは主張通りに動作するか?
  2. セキュリティ -- 脆弱性はないか?
  3. パフォーマンス -- 不要な非効率はないか?
  4. 可読性 -- 次の開発者がこれを理解できるか?
  5. スタイル -- プロジェクトの規約に従っているか?

フィードバックのエチケット:

# 良いフィードバック
「キーが動的なユーザーIDなので、O(1)の検索のために
ここではObjectの代わりにMapの使用を検討してください。」

# 悪いフィードバック
「これは間違い。Mapを使って。」

承認基準

  • すべてのCIチェックが通過
  • 少なくとも1人のメンテナーの承認(破壊的変更には2人)
  • 未解決の会話がない
  • 動作が変更された場合はドキュメントが更新されている
  • テストカバレッジが維持または改善されている

ターンアラウンドタイム

期待を設定:「メンテナーは3営業日以内に初回レビューを提供することを目指します。複雑なPRにはより時間がかかる場合があります。」

停滞したPR

PRが停滞と見なされる時期とその後の対応を定義:「30日間活動のないPRはstaleとマークされます。さらに14日後にクローズされます。いつでも再オープンまたは新しいPRを提出できます。」

ユースケース

コードレビューで摩擦が生じているプロジェクトで、コントリビューターがぶっきらぼうなフィードバックに落胆し、レビュアーが基本基準を満たさないPRに多くの時間を費やしている場合。

試してみる — CONTRIBUTING.md Generator

フルツールを開く