clocコマンドでプロジェクト内のファイル数や行数を言語毎に見る

Thursday, March 17, 2016

ふとしたときに自分がプロジェクトでどれくらいのファイルを作成してどれくらいのコードを書いたか調べたくなる時があります。
そんなときは、cloc を使うと簡単に調べることができます。

インストールする


Homebrew経由で簡単に入れられます。

$ brew install cloc  # Mac OS X with Homebrew

使い方


cloc [調べたいディレクトリのpath]で簡単に実行できます。

$ cloc path/to/project
252 text files.
242 unique files.
 83 files ignored.

https://github.com/AlDanial/cloc v 1.66  T=2.49 s (69.1 files/s, 14825.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
HTML                           118          10202             83          22496
XML                             43            522              0           2534
CSS                              5            134             51            757
Bourne Shell                     4             22              1             92
JavaScript                       2              0              1             21
-------------------------------------------------------------------------------
SUM:                           172          10880            136          25900
-------------------------------------------------------------------------------

こんな感じで、言語毎に、files(ファイル数)、blank(空白)、comment(コメント行数)、code(コードの行数)が表示されます。

iOSアプリのプロジェクトで実行する場合


そのまま実行すると、Pods/以下や、Carthage/以下に入っているファイルにも反応してしまうので、
--exclude-dirを使って、除外します。

$ cloc --exclude-dir=Pods,Carthage path/to/project
40 text files.
38 unique files.
29 files ignored.

https://github.com/AlDanial/cloc v 1.66  T=0.30 s (62.6 files/s, 1811.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Swift                           11             66             93            173
JSON                             7              0              0            169
YAML                             1              7             20             22
-------------------------------------------------------------------------------
SUM:                            19             73            113            364
-------------------------------------------------------------------------------

作り始めたばかりのプロジェクトだから少ない…

外部ライブラリを覗いて計測することができました。
他にも、--exclude-langで、計測しない言語を選んだりもできるので、お好みに合わせてオプションを指定すればいい感じになりそうです。

techSwiftHomebrewTipscloc

APIKitで定義したRequestからNSURLRequestを生成して使う

SwiftのArrayをスライスする