開発者は、コードの進捗状況と統計を上司や同僚と共有する必要があるかもしれません。上司はコードを分析し、追加の入力を提供したい場合があります。そのような場合、私が知る限り、ソースコードを分析するために利用できるプログラムはほとんどありません。そのようなプログラムの1つがオーカウントです。 。今日、私はさらに別の同様のユーティリティ、つまり "Cloc"に出くわしました。 。 Clocを使用すると、いくつかのプログラミング言語でソースコードの行を簡単に数えることができます。ソースコードの空白行、コメント行、および物理行をカウントし、結果をきちんとした表形式の列形式で表示します。 Clocは、完全に Perlで記述された無料のオープンソースおよびクロスプラットフォームユーティリティです。 プログラミング言語。
機能
Clocには、次のような多くの利点があります。
- インストール/使用が簡単。依存関係は必要ありません。
- ポータブル
- プレーンテキスト、SQL、JSON、XML、YAML、カンマ区切り値など、さまざまな形式で結果を生成できます。
- gitコミットをカウントできます。
- ディレクトリとサブディレクトリのコードを数えます。
- カウントコードは、タールボール、Zipファイル、Java.earファイルなどの圧縮アーカイブ内のコードをカウントします。
- オープンソースとクロスプラットフォーム。
Clocのインストール
Clocユーティリティは、ほとんどのUnixライクなオペレーティングシステムのデフォルトのリポジトリで利用できます。そのため、以下に示すように、デフォルトのパッケージマネージャーを使用してインストールできます。
Arch Linuxとそのバリアントの場合:
$ sudo pacman -S cloc
Debian、Ubuntuの場合:
$ sudo apt-get install cloc
CentOS、Red Hat、Scientific Linuxの場合:
$ sudo yum install cloc
Fedoraの場合:
$ sudo dnf install cloc
FreeBSDの場合:
$ sudo pkg install cloc
NPMなどのサードパーティのパッケージマネージャーを使用してインストールすることもできます 同様に。
$ npm install -g cloc
多くのプログラミング言語でソースコードの行数を数える
簡単な例から始めましょう。現在の作業ディレクトリにCで記述された「helloworld」プログラムがあります。
$ cat hello.c #include <stdio.h> int main() { // printf() displays the string inside quotation printf("Hello, World!"); return 0; }
hello.cプログラムのコード行を数えるには、次のコマンドを実行します。
$ cloc hello.c
サンプル出力:

Clocを使用してHelloWorldプログラムの行をカントします
最初の列は、ソースコードを構成するプログラミング言語の名前を指定します。 。上記の出力からわかるように、「helloworld」プログラムのソースコードはCを使用して記述されています。 プログラミング言語。
2番目の列には、各プログラミング言語のファイル数が表示されます。 。したがって、コードには1つのファイルが含まれています 合計で。
3番目の列には、空白行の総数が表示されます。 。コードに空白のファイルはありません。
4番目の列には、コメント行数が表示されます 。
そして、最後と5番目の列には、指定されたソースコードの物理的な行の合計が表示されます。 。
これは6行のコードプログラムであるため、コード内の行を数えることは大したことではありません。いくつかの大きなソースコードファイルはどうですか?次の例を見てください:
$ cloc file.tar.gz
サンプル出力:

tarファイルの行数を数える
上記の出力のように、コードの正確な数を手動で見つけることは非常に困難です。ただし、Clocは、結果を数秒で表形式の列形式で表示します。最後に各セクションの総計を表示できます。これは、プログラムのソースコードを分析する場合に非常に便利です。
Clocは、個々のソースコードファイルだけでなく、ディレクトリやサブディレクトリ内のファイル、アーカイブ、さらには特定のgitcommitなどのファイルもカウントします。
ディレクトリ内のコードの行数を数えます:
$ cloc dir/
サブディレクトリ:
$ cloc dir/cloc/tests
アーカイブファイルのコード行を数えます:
$ cloc archive.zip
以下のような特定のコミットを使用して、gitリポジトリの行をカウントすることもできます。
$ git clone https://github.com/AlDanial/cloc.git
$ cd cloc
$ cloc 157d706
Clocはいくつかのプログラミング言語を認識できます。認識されている言語の完全なリストを表示するには、次のコマンドを実行します:
$ cloc --show-lang
詳細については、ヘルプセクションを参照してください。
$ cloc --help