EN JP CN

コードをモジュールに編成する

コードをモジュールに編成する

コードをモジュールに編成する

コードをモジュールに編成する

モジュールはプロジェクトのコードベースのサブセットであり、コードの物理構造を反映します。モジュールは次の点で助けになります。

  • 検索クエリとビューの作成
  • レポートの作成と使用
  • ソースコードへのアクセスの制限

前提条件

アクセス制御メソッドが設定されている場合、モジュールを作成して編集するには、プロジェクト管理者の役割または 'モジュールの管理' パーミッションを持つ必要があります。モジュールでのアクセス パーミッションを追加または変更するには、'役割の割り当て' パーミッションが必要です (デフォルトでプロジェクト管理者が持つ)。

プロジェクトの作成も必要です。

モジュールの作成

モジュールは、Klocwork Static Code Analysis の「プロジェクト管理」領域で作成します。

  1. 「プロジェクト」のリストが表示されていない場合は、左上の [プロジェクト] をクリックします。
  2. リストで自分のプロジェクトをクリックします。右側にプロジェクトの詳細が表示されます。
  3. プロジェクトの詳細で [モジュール] をクリックします。
  4. [新しいモジュールの作成] をクリックします。
  5. モジュールの名前、例えば、マイ ツールを入力します。
    モジュールの名前は 64 文字以内とし、アポストロフィ (') と二重引用符 (") は含めないでください。
  6. アクセス制御が設定されている場合は、誰がこのモジュールのソースコードを閲覧できるかを制御できます。ユーザーはプロジェクトの「ソースファイルにアクセス」するための権限も必要であることに注意してください。
    • [すべて許可] では、どのユーザーでもこのモジュールのソースコードを閲覧できる汎用規則が設定されます。
    • [すべて拒否] では、すべてのユーザーに対してこのモジュール内のソースコードの閲覧を禁止する汎用規則が設定されます。
    • [ユーザーを許可] フィールドでは、特定のユーザーに対してソースコードへのアクセスを許可できます。
    • [ユーザーを拒否] フィールドでは、特定のユーザーによるソースコードへのアクセスを拒否できます。
    たとえば、モジュールのソースコードへのアクセスを jsmith にのみ許可したい場合は、ドロップダウンメニューから [すべて拒否] を選択し、[ユーザーを許可] フィールドに jsmith と入力します。
  7. パスの指定は、ツリーの選択を行うか、パスパターンを指定するかの 2 つの方法のいずれかでできます。
    • ツリーの選択を使用をしたい場合は、[ツリーの使用] オプションを選択します。ファイルツリーが表示され、ここで、モジュールの一部として含めたいフォルダーまたはファイルを具体的に選択できます。
    • 代替方法として、パスのパターンを使用できます。[パスのパターン] フィールドで、ファイルの絶対パスまたはパスのパターンを入力します。これはデフォルトの動作です。このモジュールにさらにファイルパスを追加するには、[追加] をクリックします。
    ヒント:

    ワイルドカードとしてアスタリスクを使用できます (ソースファイルのパスがビルドによって異なる場合に必要)。*/test/test/* のようにアスタリスクを 1 つ使用すると、非再帰的な検索が実行されます。これは、サブディレクトリは一致照合の対象から除外され、現在のパス レベルに限定されることを意味します。**/test.c/test/** のようにアスタリスクを 2 つ使用すると、再帰的な検索が実行されます。この場合、現在のパスおよび現在のパスのすべてのサブディレクトリから一致が返されます。

    例 1

    たとえば、以下のサンプルのファイル パスがあるとします:/space/workspaces/cvs/ccvs.1.11.18/diff/diff.c

    フィールド以下のパターンを使用すると、

        **/ccvs.1.11.18/diff/diff.c   
    

    一致が返されます。これは、二重のアスタリスクでは、どんな数のパス (この場合は /space/workspaces/cvs) とも一致照合するためです。一方、次のパターン: では、

    */ccvs.1.11.18/diff/diff.c
    

    一致は返されません。「*」では、1 つのファイルまたはディレクトリしか一致照合しないためです。

    例 2

    マイナー バージョン番号に関わらず、/space/workspaces/cvs/ccvs.1.11.18/ のパスにある特定のファイルと一致照合させるには次のパターン: を使用します:

    /space/workspaces/cvs/ccvs.1.11.*/diff/diff.c
    「*」が「18」と一致するためです。または、このパスにあるすべてのファイルと一致照合させるには、次のパターン: を使用します:
    /space/workspaces/cvs/ccvs.1.11.**
    注: パスのパターンとツリーの選択はリアルタイムでは更新されません。2 つの選択肢を切り替える場合、モジュールを保存するまで変更内容は反映されません。
  8. タグフィールドを使用して、後でモジュールリストのフィルター処理に役立つ情報を追加します。
  9. [作成] をクリックして新しいモジュールを保存します。

新しいモジュールのテスト

  1. 新しいモジュールの [指摘] リンクをクリックします。
  2. モジュールに含まれているソースファイルの指摘のみが表示されます。

モジュールの優先権規則

モジュール権限規則に確立される優先度は以下のとおりです。

  • ユーザー固有の規則がグループの規則より優先されます。
  • ユーザー固有の規則が汎用の [すべて拒否] と[すべて許可] 規則より優先されます。
  • グループの規則が汎用の [すべて拒否] と[すべて許可] 規則より優先されます。
  • [拒否] 規則は [許可] 規則より優先されます。

モジュールの編集

モジュールを編集するには

  1. モジュールリストのモジュールの左にある 編集アイコンをクリックします。
  2. 必要に応じてフィールドを編集し、[保存] をクリックします。

モジュール作成者と、現在のプロジェクトにアクセス権限のある人だけがモジュールを編集できます。

パスのパターンとツリーの選択の切り替え

モジュールを編集する場合、モジュールで定義されているパスのパターンがあり、ツリーモードに切り替えると、そのパスのパターンがツリーに適用されます。変更内容を保存すると、以前のパスパターンはツリーの選択によって上書きされます。つまり、複雑なワイルドカードパスパターンは保持されません。

たとえば、以前、パスのパターンとして /space/a* を指定し、そこに /space/apath と/space/anotherpath が含まれている場合、これら 2 つのパスが両方ともツリーで選択されます。ただし、モジュールを保存すると /space/a* は保持されないため、この条件を満たす今後のパスがデフォルトで含まれることはありません。

この動作を希望する場合は、パスパターンの利用をお勧めします。

次は何?

これで以下の操作ができます。
  • [指摘] をクリックして新しいモジュール内の指摘リストを表示する。
  • このモジュールを含めるビューまたは除外するビューを作成する。統合ビルド解析のビューのカスタマイズ、特にチュートリアル 2 を参照してください。デフォルトのビューを編集してテストコードの指摘を非表示にする方法を示しています。
  • モジュールを使用してレポートを作成したり、レポートを表示するときにモジュールをフィルターとして使用する。レポートをお使いになる前に Klocwork Static Code Analysis を参照してください。