2020年10月21日水曜日

lizard で C++ コードメトリクス

今の会社に来てから OS が Windows とは限らない。むしろ macOS が多くなったので CCCC の代わりに lizard を使ってみました。

インストール
pip install lizard
で終わりです。
使い方
ヘルプ見たらだいたい分かると思いますが、パス指定したら解析してくれます。
-l で言語指定ができます。(e.g. -l cpp)

--xml で cppncss xml 形式で print されるのでファイルに出力したら Jenkins でも簡単に可視化できます。

--html で HTML レポート出力もできるのでさっと確認したい人はこれで見ると良いでしょう。
iutest の結果
lizard 入りの Docker image 作って GitHub Actions でレポートを取ってみました。
作成したイメージはこちらです。 https://hub.docker.com/r/srzzumix/lizard

GitHub Actions の YAML は以下のようになります。
lizard で出力した HTML レポートを成果物として保存しています。
  lizard:
    runs-on: ubuntu-18.04
    needs: prepare
    steps:
    - uses: actions/checkout@master
    - name: Lizard
      uses: docker://srzzumix/lizard
      with:
        args: -o lizard.html --html ./include
    - name: Archive code metrics results
      uses: actions/upload-artifact@v1
      with:
        name: lizard.html
        path: lizard.html

実行結果はこのようになります。

成果物から HTML レポートをダウンロード可能です。



最後に
今回はメトリクスを集計するところまでをやりました。
xml を取得して閾値チェックなどできると良いかもしれません。
取得したメトリクスを利用する事例ができたら、また記事にしたいと思います。

今回は以上。では。

0 件のコメント:

コメントを投稿