end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

cloc によるソース行数(sloc)カウント

https://github.com/AlDanial/cloc

clocの存在は知りませんでした。

ソース行数(sloc)カウントの機能のみで、複雑度等のmetricsを計測できませんが、 yumでインストールできて、 コマンドラインでお手軽に、様々な言語を集計できます。

install

以下を見ると、分かりますが、perlで実装されているようです。

$ sudo yum install cloc
   :
===========================================================
 Package                Arch      Version        Repository
===========================================================
Installing:
 cloc                   noarch    1.70-1.el7         epel  
Installing for dependencies:
 perl-Algorithm-Diff    noarch    1.1902-17.el7      base  
 perl-Regexp-Common     noarch    2013031301-1.el7   epel  
===========================================================

$ /usr/bin/cloc --help

実行例

言語別や、ファイル別で集計結果を表示できます。

$ /usr/bin/cloc /tmp/myproj/src
----------------------------------------------------------------------------------------
Language                              files          blank        comment           code
----------------------------------------------------------------------------------------
Java                                  20553         642989        1308923        2827434
JavaScript                              685          18661          51139         189923
JSP                                    1023           4447          12051         127191
SQL                                    1612            690          23669         124569
CSS                                     616            653           3746          25792
XML                                      93            749           1519           8374
Velocity Template Language              179            803            371           8076
Ant                                      21            268            122           1865
Ruby                                     17            545           1473           1815
HTML                                     11             99             39            694
PowerShell                                1             30             55            370
DOS Batch                                 6             29             24            368
PHP                                       1             15              0            274
Visualforce Component                    13              0              0            238
Perl                                      9             27             27            162
JSON                                      2              1              0            107
Markdown                                  3             44              0             65
Python                                    1             14              2             32
Bourne Shell                              7              6              0             27
YAML                                      3              1              1             15
----------------------------------------------------------------------------------------
SUM:                                  24856         670071        1403161        3317391
----------------------------------------------------------------------------------------
$ /usr/bin/cloc --by-file-by-lang .