このセクションでは、コミット前とコミット後の両方のプロセスに適用される全般的なコード レビューの構成オプションについて説明します。

このセクションの内容:

コード レビューの設定

  1. [Parasoft] メニューの [設定] をクリックします。
  2. ソース管理をまだ設定していない場合、次の操作を行って設定します。
    1. [Parasoft] > [スコープと作成者] カテゴリを選択します。
    2. [ソース管理システムを使ってスコープを計算] チェックボックスをオンにします。
    3. [Parasoft] > [ソース管理] カテゴリを選択します。
    4. チームのソース管理リポジトリを指定するか、[Use DTP settings] オプションを有効にします。詳細については 「ソース管理リポジトリとの接続」および「DTP への接続」を参照してください。 
  3. Team Server をまだ設定していない場合、[設定] ウィンドウの [Parasoft] > [Team Server]で設定します (「Parasoft Team Server との接続」を参照)。

    Team Server の構成についての注意事項

    Parasoft ソリューションが Team Server の Named Accounts を使用している場合、Team Server ユーザー アカウントが確実に Team Server の Code Review ディレクトリにアクセスできるようにしてください。適切なパス権限を設定する方法については、『DTP ドキュメント』の「Named Accounts」のセクションを参照してください。

  4. (デスクトップ インストールのみ) [Parasoft] > [コード レビュー] カテゴリを選択し、以下の設定を行います。
    • DTP Settings
      設定した DTP Server のホスト名が表示されます。[デフォルト] オプションを無効にしてポート番号を変更できます。
    • 全般的な設定
      • ユーザー名:  現行ユーザーの一意なコード レビュー名を入力します。ここで入力した名前をコード レビュー用テスト コンフィギュレーションで使用します。
      • スキャナー実行中にユーザー補助を表示:  このチェックボックスをオンにすると、コード レビューの実行ごとに、タスク識別子を指定したり、コメントを入力したり、特定のレビューアーまたは監督者を入力したりできます。このオプションは、コミット前コード レビューを対象にしたものです。
      • 新規または更新されたレビューを次の間隔で通知:  このオプションを無効にすると、コードのレビューが必要な場合または自分が作成したコードがレビューされた場合に、その旨が通知されます。このオプションは有効にすることを推奨します。
      • 完了したタスクを表示: アクティブなタスクだけでなく、完了したタスクもコード レビュー タスク ツリーに表示する場合、このオプションを有効にし、表示するタスクの範囲を指定します。たとえば、過去 1 週間以内に完了したすべてのタスクを表示するには、範囲を「7 日」に設定します。
    • 比較エディター
      • 1 つの比較エディターを再利用する:  リビジョンを同じエディターに表示するには、このオプションを有効にします。
      • レビューをコミットするときに比較エディターを閉じる:  リビジョンをコミットするときに比較エディターを閉じるには、このオプションを有効にします。
      • 構造の変更を表示:  構造の変更を比較エディターに表示するには、このオプションを有効にします。
      • 抑制された部分を表示する:  解析から除外されたコードについての詳細を比較エディターに表示するには、このオプションを有効にします。コードを解析から除外する方法については「差分を表示しないコード部分の指定」を参照してください。
      • Show the newer source on the left | right: 最新のソースを比較エディターの左右どちらに置くかを指定します。
    • 既存プロジェクト中のローカル ソースのオープン
      • ソース管理を使用してローカル ソースを認識 :  発見されたソースを Parasoft Test がより良く 認識できるようソース管理データを使用したい場合、このオプションを有効にします。
      • ローカル ソースのパスがリモート パスと異なる場合は常に問い合わせなしでオープンする:  ローカル ソースのパスとリモート パスが異なる場合に、常にローカル パスを強制的に適用するには、このオプションを有効にします。
      • 問題が作成された後にファイルが変更された場合は警告を表示する:  コード レビュー タスクの作成後に現行ソース コードが変更されたためにコード レビュー タスクが古くなってしまった場合、警告が通知されます。
    • 外観:  コード レビュー タスク ツリーで使用する外観をカスタマイズできます。また、1 つのファイルに対する複数のリビジョンをマージするかどうかを指定できます。
  5. (デスクトップ インストールのみ) [Parasoft] > [コード レビュー] > [チーム] カテゴリを選択し、以下の設定を行います。
    • 全般的な設定:  「デフォルト」と「制限付き」のどちらのワークフローを使用するかを選択します。 これらのオプションの概要については 「ワークフローの概要」を参照してください。  直接 Team Server で制限付きワークフローを有効にすることができます。プロパティ キー パスとして /usr/{user}/codereview/workflow を使用し、プロパティ値として restrict を使用します。後でデフォルト ワークフローに戻すには、プロパティ値を default に変更します (DTP ドキュメントの「Team Server データの移行」を参照)。
    • Team Server から Report Center にタスクをインポート:  データベースにネットワーク データを格納することでパフォーマンスを最適化します。詳細については 「Team Server から Report Center データベースへのコード レビュー データのインポート」を参照してください。
    • タスク カテゴリ:  レビューワーがコメントを分類するために使用できるカテゴリ リストをカスタマイズできます。


Team Server に保管していたデータの移行

Team Server でのデータの保管は非推奨になりました。 Team Server から現在の保管方法 (Report Center) にデータを移行するには、以下の操作を行います。

  1. DTP で設定ドロップダウン メニューから [Team Server] を選択し、[データ ストレージ] をクリックします。 
  2. コード レビューに使用したユーザー アカウントのルート フォルダーをクリックします。
  3. codereview サブフォルダーで、storage.type プロパティの値を db.storage.type に設定または変更します。
  4. IDE を再起動します。
  5. ここで説明している設定画面 ( [設定] > [Parasoft] > [コード レビュー] > [チーム] ) で [インポート] ボタンをクリックして、Team Server から Report Center にデータを転送します。

   7.[適用] ボタンをクリックして設定を適用します。
   8.[OK] をクリックして設定を保存します。

スキャンのためのテスト コンフィギュレーションの設定

テスト コンフィギュレーションは、コード レビューをどのように準備するかを制御します。コミット前プロセスとコミット後プロセスのどちらを採用しているかによって、適切な設定が異なります。 

差分を表示しないコード部分の指定

特定のコード ブロックの差分を比較エディターに表示しないようにするには、次の操作を行います。

  1. 差分の表示を停止するコードの位置に codereview-begin-suppress コメントを追加します。
  2. 差分の表示を再開するコードの位置に codereview-end-suppress コメントを追加します。

なお、デフォルトでは、抑制されたコードはコード レビュー タスクの diff に表示されません (たとえば、抑制されたコードの直前または直後のコード変更をハイライトする diff )。 後で抑制されたコードを diff に表示するには、次の操作を行います。 

  1. [Parasoft] メニューの [設定] をクリックします。
  2. 左側のリストから [Parasoft] > [コード レビュー] を選択します。
  3. [抑制された部分を表示する] オプションを有効にします。

抑制コメント内の変更を無視するには

codereview-begin-suppress と codereview-end-suppress markers の間で発生しているすべての差分をコード レビューのスキャンで無視したい場合は、[コード レビュー] > [フィルター] タブの [Ignore changes within suppressed blocks] を有効にします。

パブリッシュされない/スキップされるレビューの解決

パブリッシュされないレビュー

[テスト進捗] ビューに「レビューがパブリッシュされなかった」ことがレポートされた場合、これはテスト コンフィギュレーションで定義されていない作成者がいることを表します。

たとえば、次のようにコード レビューの結果がレポートされたものとします。



2 個のファイルがスキャンされて 2 個のリビジョンが承認されています。しかし、パブリッシュするコード レビュー パッケージがありません。その理由は、スキャンされたコードがユーザー pietrek によって変更されているからです。このユーザー名はテスト コンフィギュレーションの [コード レビュー] > [作成者] タブにありません。

この問題を修正するには、次の操作を行います。

  1. テスト コンフィギュレーションの [コード レビュー] > [作成者] タブで作成者を追加します。
  2. レビューアーに、この作成者のすべてのコードを割り当てるか、またはこの作成者のリビジョンが発生したコード部分を割り当てます。
  3. テスト コンフィギュレーションを再び実行します。

スキップされたレビュー

未定のユーザーあるいは一致しない作成者パスがあり、テスト結果で「レビューがスキップされた」ことがレポートされた場合、これは変更されたコードがレビューアーに適切に割り当てられていないことを表します。 

たとえば、次のようにコード レビューの結果がレポートされたものとします。



そして、レポートに次のように情報が出力されたものとします。



この問題を解決するには、テスト コンフィギュレーションを変更してレビューアーにコードを割り当てます。コードの一部か、または作成者が変更したすべてのコードをレビューアーに割り当てます。

コード レビュー パッケージはどのように作成されるか

コード レビュー パッケージは、作成者の変更 (コミット) に基づいて定義されます。

  • コミット後コード レビューでは、自動スキャンが毎日実行されるたびに変更が収集されます。
  • コミット前コード レビューでは、どの変更をパッケージに含めるかをコード作成者が指定します。

作成者にマップされたレビューアーと監督者は、そのパッケージに割り当てられます。パッケージ中のコードが、他のレビューアーまたは監督者がレビュー担当になっているプロジェクト領域からのものである場合、そのレビューアー/監督者もパッケージに割り当てられます。

作成されたパッケージにおいて、作成者についてもプロジェクト領域についてもレビュー担当のレビューアー/監督者が存在しない場合、そのパッケージに対するレビュー タスクは生成されません。

パス (領域) ごとに個別のパッケージは作成されません。そのため、異なるパスに割り当てられた複数のレビューアーが、同じパッケージに対して作業する場合もあります。その場合は、自分がどのパスをレビューするかをレビューアー同士で決定するべきです。そうすることによって、複数のレビューアーの割り当て領域にタスクが点在するかもしれない場合に、タスクの整合性が保たれます。レビューアーが自分の割り当て領域にパッケージ中の複数のファイルが含まれるため、どのファイルが自分の担当か知りたい場合、この情報を [コード レビュー] ビューで得ることができます。 

Team Server から Concerto Report Center データベースへのコード レビュー データのインポート

Team Server 上にフラット ファイルとして保管するよりも、Report Center データベースにネットワーク データを格納する方が効率的です。Team Server ストレージは下位互換性のためにサポートされていますが、Report Center ストレージの使用を強く推奨します。

Team Server から Report Center にコード レビュー データを移行するには、次の操作を行います。

  1. [Parasoft] > [設定] を選択します。
  2. [Parasoft] > [コード レビュー] > [チーム] を選択します。
  3. [インポート] ボタンをクリックし、表示されたダイアログで適切に情報を入力します。すべてのコード レビュー データまたは指定したデータ範囲のパッケージだけをインポートできます。既存の項目がインポートされる場合、その項目は複製されます。

1 個のコード レビュー パッケージを Team Server から Report Center データベースにインポートするのに必要な時間は、平均で約 30 秒です。1 日に約 2880 個のパッケージをインポートできます。

  • No labels