[LINUX] Compter les lignes de code source (SLOC)

introduction

Voici comment compter les lignes de code source (SLOC). Mesurons SLOC en utilisant le code source busybox comme exemple. Le système d'exploitation PC est Ubuntu 14.04.

cloc Installez cloc. cloc est un fichier de script Perl.

console


sudo apt-get install cloc

Analysez busybox-1.26.2. Le résultat est le suivant.

console


$ cloc busybox-1.26.2
    2056 text files.
    1657 unique files.                                          
    1145 files ignored.

http://cloc.sourceforge.net v 1.60  T=17.35 s (50.8 files/s, 15274.9 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
C                               631          24595          53365         158590
Bourne Shell                    163           1317           1278           7419
C/C++ Header                     60           1155           2176           5370
HTML                              9            420             32           3934
C++                               1            166             62           1197
make                              5            306            441            900
yacc                              1             93             20            570
Perl                              3             97            166            315
lex                               1             40             12            303
NAnt scripts                      1             84              0            260
Bourne Again Shell                4             47             86            203
IDL                               1              0              0             33
awk                               1              2              8             30
--------------------------------------------------------------------------------
SUM:                            881          28322          57646         179124
--------------------------------------------------------------------------------

Il sera agrégé par langue. Le nombre de lignes est compté par le nombre de fichiers, de blancs, de commentaires et de code.

Le résultat de l'option "--by-file".

console


$ cloc --by-file busybox-1.26.2
    2056 text files.
    1657 unique files.                                          
    1145 files ignored.

http://cloc.sourceforge.net v 1.60  T=16.65 s (52.9 files/s, 15924.0 lines/s)
----------------------------------------------------------------------------------------------------------------------
File                                                                               blank        comment           code
----------------------------------------------------------------------------------------------------------------------
busybox-1.26.2/shell/ash.c                                                          1153           1969          10476
(...)
busybox-1.26.2/arch/i386/Makefile                                                      1              5              1
----------------------------------------------------------------------------------------------------------------------
SUM:                                                                               28322          57646         179124
----------------------------------------------------------------------------------------------------------------------

C'est le résultat de l'exécution de l'option "--diff".

console


$ cloc --diff busybox-1.26.2 busybox-1.27.2
    2056 text files.
    2101 text files.s
    2303 files ignored.                                         

http://cloc.sourceforge.net v 1.60  T=101.38 s (0.0 files/s, 0.0 lines/s)
--------------------------------------------------------------------------------
Language                      files          blank        comment           code
--------------------------------------------------------------------------------
(...)
C++
 same                             1              0             62           1197
 modified                         0              0              0              0
 added                            0              0              0              0
 removed                          0              0              0              0
(...)
C/C++ Header
 same                            52              0           2162           5316
 modified                         8              0              5             33
 added                            5            169            298            673
 removed                          0              0              9             21
(...)
C
 same                           389              0          51434         155066
 modified                       227              0            574           1237
 added                           38           1305           3978           8354
 removed                         15            295           1357           2287
-------------------------------------------------------------------------------
SUM:
 same                           609              0          55690         175471
 modified                       256              0            586           1306
 added                           48           1515           4322           9190
 removed                         16            301           1370           2347
-------------------------------------------------------------------------------

sample Vérifiez le fonctionnement de cloc à l'aide de l'exemple de code source.

test.c


  1 #if 0
  2 const int rodata = 10;
  3 int data = 20;
  4 int bss = 0;
  5 #endif
  6 
  7 /*-
  8  * main function
  9  */
 10 int main(int argc, char* argv[])
 11 {
 12     return 0; /* no count comment */
 13 }
 14 

console


$ cloc test.c
       1 text file.
       1 unique file.                              
       0 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.02 s (60.8 files/s, 850.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                                1              2              3              9
-------------------------------------------------------------------------------
$ cloc test.c
       1 text file.
       1 unique file.                              
       0 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.02 s (57.8 files/s, 808.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                                1              2              3              9
-------------------------------------------------------------------------------

le code est 9. Les lignes contenant uniquement des commentaires et des blancs ne sont pas comptées. Les instructions du préprocesseur sont comptées. ** \ # si 0 est compté. ** **

Recommended Posts

Compter les lignes de code source (SLOC)
[Python] Lire le code source de Bottle Part 2
[Python] Lire le code source de Bottle Part 1
Répertoriez rapidement plusieurs lignes de texte que vous écrivez dans votre code
10. Compter le nombre de lignes
Installer ansible à partir du code source
2.x, 3.x code de caractères des séries python
Suivez le flux de QAOA (VQE) au niveau du code source de Blueqat