Cloc – Công cụ tính Lines of Code trong phát triển phần mềm


Cloc là công cụ tính Lines of Code trong các dự án phát triển phần mềm, tức là nó sẽ count số lượng dòng code, comments và cả dòng trống (blank line) trong source code. Ngoài ra công cụ còn hỗ trợ phân loại source code theo ngôn ngữ lập trình, tỷ lệ comment_ratio (số dòng comment/dòng code).

Giới thiệu công cụ Cloc

Cloc được viết bằng ngôn ngữ Perl với không sử dụng 1 thư viện (dependency) ngoài, mà chỉ yêu cầu Perl 5.6 trở lên nên việc cài đặt và sử dụng rất dễ dàng. Cloc có thể chạy trên nhiều hệ điều hành Linux, Windows, Mac.

Chú ý: Để chạy Perl trên Windows, cần ActiveState Perl 5.6.1 trở lên, Strawberry Perl, … với Perl plugin.

  • Tác giả: Al Danial
  • Latest release: v1.76 (February 9, 2018)
  • Github Source: https://github.com/AlDanial/cloc

Hướng dẫn cài đặt Cloc

Cloc được cài đặt rất đơn giản thông qua các command của HDH:

npm install -g cloc                    # https://www.npmjs.com/package/cloc
sudo apt install cloc                  # Debian, Ubuntu
sudo yum install cloc                  # Red Hat, Fedora
sudo dnf install cloc                  # Fedora 22 or later
sudo pacman -S cloc                    # Arch
sudo emerge -av dev-util/cloc          # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
sudo apk add cloc                      # Alpine Linux
sudo pkg install cloc                  # FreeBSD
sudo port install cloc                 # Mac OS X with MacPorts
brew install cloc                      # Mac OS X with Homebrew
choco install cloc                     # Windows with Chocolatey
scoop install cloc                     # Windows with Scoop

Cloc cho Windows: Download

Hướng dẫn sử dụng cơ bản (Trên Ubuntu)

– Cú pháp lệnh (Syntax command)

cloc [options] <file(s)/dir(s)> | <set 1> <set 2> | <report files>

Danh sách các options hỗ trợ, các bạn tham khảo trên Github

– Phân tích source code của 1 file

prompt> cloc hello.c
       1 text file.
       1 unique file.
       0 files ignored.

https://github.com/AlDanial/cloc v 1.65  T=0.04 s (28.3 files/s, 340.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                                1              0              7              5
-------------------------------------------------------------------------------

– Phân tích source code của một file nén (archive)

prompt> cloc vinasupport.com.tar.gz
    5605 text files.
    5386 unique files.
    2176 files ignored.

https://github.com/AlDanial/cloc v 1.65  T=25.49 s (134.7 files/s, 51980.3 lines/s)
-----------------------------------------------------------------------------------
Language                         files          blank        comment           code
-----------------------------------------------------------------------------------
Perl                              2892         136396         184362         536445
C                                  130          24676          33684         155648
C/C++ Header                       148           9766          16569         147858
Bourne Shell                       112           4044           6796          42668
Pascal                               8            458           1603           8592
XML                                 33            142              0           2410
YAML                                49             20             15           2078
C++                                 10            313            277           2033
make                                 4            426            488           1986
Prolog                              12            438              2           1146
JSON                                14              1              0           1037
yacc                                 1             85             76            998
Windows Message File                 1            102             11            489
DOS Batch                           14             92             41            389
Windows Resource File                3             10              0             85
D                                    1              5              7              8
Lisp                                 2              0              3              4
-----------------------------------------------------------------------------------
SUM:                              3434         176974         243934         903874
-----------------------------------------------------------------------------------

– Lưu kết quả phân tích source code vào database SQLite

cloc --sql 1 --sql-project=vinasupport.com firstapp/ | sqlite3 vinasupport.com.db
sqlite3 -header vinasupport.com.db 'select project, language, file, nCode, nComment from t;' | sqlite_formatter

Command trên có sử dụng sqlite_formatter để format dữ liệu output ra, nếu chưa cài đặt thì các bạn sử dụng command bên dưới.

cd /usr/local/bin/
sudo wget http://cloc.sourceforge.net/sqlite_formatter
sudo chmod +x sqlite_formatter

Như vậy, mình đã giới thiệu xong công cụ Cloc để phân tích source và đếm số Lines of Code, một công cụ sử dụng rất đơn giản, và phổ biến. Hy vọng nó sẽ giúp các bạn tiết kiệm được thời gian trong việc viết báo cáo, estimate các dự án về lập trình.

Nguồn vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web