Helix Swarmガイド (2020.1)

コードレビュー

コードレビューでは、他の開発者がコードを確認してフィードバックを行い、コードの構造、機能、保全性、およびその他のコードとの相互関係を改善する方法を提案することができます。

利点

コードレビューの利点には以下のようなものがあります。

  • コーディングの規則の強制: コードレビューでは、チームのコーディング規則に合わないコードを見つけることができます。 これにより、コードベースの可読性および整合性を改善することができます。
  • 知識と経験の共有: チームはよりよいコードの習得を支援することができます。 これは特に、新しくチームに入ってきた開発者に役立ちます。
  • 不具合の早期検出: 後で問題になる前に、小さなエラーを見つけることができます。
  • コードの共有: コードレビューは現在のコードベースについての知識を広めるため、プロジェクト全体のメンタルモデルの維持、および開発者の不在対策の両方に役立ちます。
  • パーソナルレビューの改善: 他の人が単純なコーディングのエラーを見つける可能性があることが分かっていると、多くの場合、開発者による自身のコードの見直しが強化されます。

Swarmを使用する開発者は、面倒な作業を行うことなく、これらのメリットを活用することができます。

機能

Swarmには、以下のコードレビュー機能が用意されています。 リスト内の「作成者」という用語は、レビュー対象の変更を作成したユーザのことを指し、「レビュー担当者」という用語は、コードレビューを行う承認されたSwarmユーザのことを指しています。また、「必須レビュー担当者」という用語は、レビューを承認するために必要な賛成票を入れる責任を負うユーザのことを指します。

  • 作成者はレビューを要求することができ、レビュー担当者と必須レビュー担当者を指名することができます。
  • レビュー担当者は、既存の変更についてコードレビューを開始できます。
  • レビュー担当者は、自分自身をレビューに追加してレビューに参加することができます。これにより、そのレビューに参加している他のユーザと責任を共有することになります。
  • レビュー担当者は、Markdownテキストを使用して、チェンジリスト、チェンジリスト内の特定のファイル、ファイル内の特定の行にコメントを追加することができます。
  • レビュー担当者はレビューを投票し、承認または却下を示します。
  • 必須レビュー担当者は、自分がレビューに賛成票を投じるまでレビューが承認されるのを防ぐことができます。
  • モデレータが割り当てられているプロジェクトブランチの場合、レビューを承認できるのは1人のモデレータのみに制限されます。
  • モデレータが割り当てられている複数のプロジェクトブランチにレビューがまたがっている場合、レビューを承認できるのは、デフォルトでいずれかのブランチの1人のモデレータのみに制限されます。
  • 注意

    Swarmを適切に構成することにより、各ブランチのいずれかのモデレータのみがレビューを承認できるように指定することができます。 モデレータの動作については、「モデレータ」を参照してください。

  • レビュー担当者は、変更に要リビジョン、承認、却下をマークするか、アーカイブして後で検討することができます。
  • レビュー担当者は必要に応じて承認済み変更をコミットできます。

ワークフロー

デフォルト設定の場合、コードレビューワークフローに適用される制限がほとんどないということが、Swarmのコードレビューワークフローの基本的な特徴になります。 ただし、Swarmには、以下のように、コードレビューワークフローを制限するためのさまざまなメカニズムが付属しています。

  • 必須レビュー担当者は、レビューの作成者、プロジェクトメンバーまたはモデレータにより指名されたユーザであり、レビューに参加して投票を行う必要があり、そのレビューに賛成票を投じるまでレビューが承認されるのを防止します。 詳細については、「必須レビュー担当者」を参照してください。
  • ブランチモデレータは、プロジェクトのブランチ1つ以上に設定されている場合、参加するまでレビューの承認(または却下)を防止します。 詳細については、「モデレータ」を参照してください。
  • 管理者は必要に応じて、作業状態のタスクが含まれているレビューの承認やコミットを禁止するようにSwarmを設定することができます。詳しくは、「作業状態のタスクが含まれているレビューの承認を禁止する」を参照してください。
  • ワークフロー(デフォルトで有効になっています)
    • グローバルワークフロールールを設定することにより、Helix Coreサーバ全体に対して、最小限のコードレビューワークフローを適用することができます。 グローバルワークフローの詳細については、「ワークフローの基礎」を参照してください。
    • グローバルワークフロールールを設定することにより、ワークフローが関連付けられていないプロジェクトとブランチに対して、最小限のコードレビューワークフローを適用することができます。 グローバルワークフローの詳細については、「ワークフローの基礎」を参照してください。
    • ワークフローを個別に設定してプロジェクトやブランチに関連付け、そのプロジェクトやブランチにコードレビューワークフローを適用することができます。 ワークフローの詳細については、「ワークフローの基礎」を参照してください。

アジャイル開発を行うチームは、Swarmのさまざまな機能を使用することにより、コードレビューを通常業務の一環に含める必要があります。 Swarmの開発チームは常にコードレビューを使用してSwarmの開発を行っています。 改善についてのアイデアやご提案をお持ちの方は、ぜひご連絡ください。