ウェブサイト検索

プログラミング言語におけるソースコードの行数をカウントする方法


ソフトウェア開発の分野では、コードベースのメトリクスを管理し理解することが、コード品質の維持、パフォーマンスの最適化、開発チーム間の効率的な協力を確保するために重要です。

コード統計の分析と定量化を支援するツールは、このプロセスにおいて重要な役割を果たします。シンプルさと効果のために注目を集めている2つの主要なツールが「SLOC」、「CLOC」および「Code」または単に「scc」と「CLOC」(コード行数のカウント)です。

SCCとは何ですか?

「SLOC、CLOC、およびCode」(scc)は、開発者に迅速で洞察に満ちたコード分析メトリックを提供するために設計されたオープンソースのコマンドラインツールです。

特に、Python、Java、C++などのさまざまなプログラミング言語での効率的なコード行数(LOC)のカウントができることで知られており、包括的な統計を提供し、コードの複雑さを評価します。

ミニマリズムと効率に焦点を当てて、sccは、目立たないながらも強力なコードベース分析ツールを求める開発者の間で人気の選択肢となっています。

Clocとは何ですか?

CLOC(「コード行数をカウントする」の略)は、コードベースのメトリクスを定量化するために使用されるもう一つの人気のあるコマンドラインツールです。sccと同様に、CLOCは開発者がコードベースの構成を理解するのを助けるために、コード行数、コメント、空行をカウントします。

sccほど機能が豊富ではありませんが、CLOCはそのシンプルさと使いやすさに優れており、高レベルのコード統計を迅速に取得するための好まれる選択肢となっています。

LinuxにSloc ClocとCode (scc)をインストールする

Linuxにsccをインストールするには、Snapパッケージマネージャーを使用できますが、最初にLinuxディストリビューションにSnapが事前インストールされていることを確認してください。もしない場合は、別途インストールする必要があるかもしれません。

$ sudo apt install snapd     [On Debian, Ubuntu and Mint]
sudo zypper install snapd  [On OpenSUSE]    
----------- On RHEL/CentOS/Fedora and Rocky/AlmaLinux ----------- 
sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap
----------- On Arch Linux ----------- 
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
----------- On Manjaro Linux ----------- 
sudo pacman -S snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap

一度snapdがインストールされると、以下のコマンドを実行してsccをインストールし、インストールされたバージョンを確認できます。

$ sudo snap install scc
scc --version

SCCのバージョン番号がコンソールに表示されるはずです。

LinuxにClocをインストールする

Linuxシステムに「cloc」(コード行数をカウントする)をインストールするには、以下のようにパッケージマネージャを使用できます。

$ sudo apt install cloc         [On Debian, Ubuntu and Mint]
sudo yum install cloc         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/cloc  [On Gentoo Linux]
sudo apk add cloc            [On Alpine Linux]
sudo pacman -S cloc           [On Arch Linux]
sudo zypper install cloc      [On OpenSUSE]    

clocがインストールされていることを確認するには、ターミナルで以下のコマンドを実行してください。

$ cloc --version

ファイルの行数をカウントする

ファイルhello.pyのコード行数をカウントするには、次のコマンドを実行します:

$ scc hello.py
OR
cloc hello.py

それは、ファイル内のコード行数、空白行、コメント行、および物理行数を出力します。

現在のディレクトリとそのサブディレクトリ内のコード行数をカウントするには、次のようにします。

$ scc code/
OR
cloc code/

SCCまたはClocで使用できる追加のオプションは以下の通りです:

  • -l - ソースコードに見つかったすべてのプログラミング言語をリストします。
  • -c – Cコードのみをカウントします。
  • -s — C++ コードのみをカウントする。
  • -j – 複数のスレッドを使用してカウントプロセスを高速化します。
  • -o – 特定の形式(XMLやJSONなど)で結果を出力します。

より高度な使用法については、以下のコマンドを使用して利用可能なオプションや例を確認してください。

$ scc --help
OR
cloc --help

その他のコードカウンター

もしsccやclocがあなたのニーズに合わない場合、検討するために他の無料で利用できるコードカウンターがあります:

  • gcloc
  • gocloc
  • 時計
結論

結論として、sccとclocはどちらもコード分析のための貴重なツールであり、それぞれに強みがあります。sccはその包括的な機能と柔軟性で際立っており、一方CLOCはそのシンプルさと速度で優れています。

プロジェクトの性質、必要な分析の深さ、およびコマンドラインツールへの慣れを考慮して、これら2つの有能なオプションのいずれかを決定してください。

選択に関係なく、どちらのツールもコード管理の改善と開発チーム内のコラボレーションの向上に貢献します。

関連記事: