コードの解析を行うと様々な情報が得られます。言語に特化して細かく解析できるものもあれば、多数の言語に対応して情報が取れるものもあります。プロジェクトの種類によって決めれば良いのですが、最近では一つのプログラミング言語だけしか使っていないケースは少ないでしょう。 今回は多数の言語に対応し、空白やコメント、コード行数をカウントできるclocを紹介します。

clocの使い方

clocはコマンドの引数として解析したいファイルまたはディレクトリを渡すだけです。以下は実行例です。

$ cloc ./
   19171 text files.
    8232 unique files.                                          
   11669 files ignored.

github.com/AlDanial/cloc v 1.70  T=71.16 s (106.5 files/s, 33571.4 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
XML                               7          76386           6692         779083
JSON                            887            160              0         665898
JavaScript                     4905          82111          98231         453009
  :
DOS Batch                         1              0              0              2
--------------------------------------------------------------------------------
SUM:                           7582         219497         107428        2062176
--------------------------------------------------------------------------------

言語とファイル数、空白、コメント、コード行が一覧になって表示されます。ユニークなファイル数も分かるので、同じライセンスのファイルはカウントされません。定期的に実行すると、プロジェクトが徐々に成長していく様子が分かりそうです。

clocはPerl製のオープンソース・ソフトウェア(GPL)です。

AlDanial/cloc: cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.