Difference between revisions of "SCC"

From Freephile Wiki
Jump to navigation Jump to search
(add meza example)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sloc Cloc and Code or simply [https://github.com/boyter/scc SCC] (aka Succinct Code Counter) is a tool similar to those before it for counting the lines of code, blank lines, comment lines, and physical lines of source code in many programming languages.
 
Sloc Cloc and Code or simply [https://github.com/boyter/scc SCC] (aka Succinct Code Counter) is a tool similar to those before it for counting the lines of code, blank lines, comment lines, and physical lines of source code in many programming languages.
  
Goal is to be the fastest code counter possible, but also perform COCOMO calculation like sloccount and to estimate code complexity similar to cyclomatic complexity calculators. In short one tool to rule them all.
+
Goal is to be the fastest code counter possible, but also perform [[wikipedia:COCOMO|COCOMO]] calculation like sloccount and to estimate code complexity similar to cyclomatic complexity calculators. In short one tool to rule them all.
  
 
==Why?==
 
==Why?==
Line 30: Line 30:
 
<code>C:\Users\greg\go\bin\scc --avg-wage 116393 ./src/meza</code>
 
<code>C:\Users\greg\go\bin\scc --avg-wage 116393 ./src/meza</code>
  
────────────────────────────────────────────────────────────────────────
+
<pre>
 +
────────────────────────────────────────────────────────────────
 +
Language      Files  Lines  Blanks Comments  Code  Complexity
 +
────────────────────────────────────────────────────────────────
  
Language             Files Lines  Blanks    Comments Code Complexity
+
YAML            128    9361  1306      1552  6503          0
 +
Jinja            75    7749  1533        16  6200        290
 +
Shell            26    1883    377      521    985        136
 +
Plain Text        14    1076    166        0    910          0
 +
PHP              10    3747    636      486  2625        242
 +
Markdown          7    744    236        0    508          0
 +
Dockerfile        4    167    16        9    142        58
 +
JavaScript        4  22950  1971      1307  19672      3170
 +
SQL                3    1931    398      879    654          0
 +
Python            2    1277    68        35  1174        42
 +
CSS                1    641    129        30    482          0
 +
INI                1      1      0        0      1          0
 +
License            1      22      5        0    17          0
 +
gitignore          1      7      2        1      4          0
  
────────────────────────────────────────────────────────────────────────
+
───────────────────────────────────────────────────────────────
 
+
Total            277   51556   6843      4836 39877      3938
YAML                   128  9361 1306  1552 6503   0
+
───────────────────────────────────────────────────────────────
 
 
Jinja                   75  7749 1533    16 6200   290
 
 
 
Shell                   26  1883  377   521  985    136
 
 
 
Plain Text              14  1076  166     0  910    0
 
 
 
PHP                     10  3747  636   486 2625   242
 
 
 
Markdown                 7   744  236     0  508    0
 
 
 
Dockerfile               4   167   16     9  142    58
 
 
 
JavaScript               4 22950 1971  1307 19672  3170
 
 
 
SQL                      3  1931  398   879  654    0
 
 
 
Python                   2  1277   68    35 1174   42
 
 
 
CSS                      1   641  129    30  482    0
 
 
 
INI                      1     1    0     0    1      0
 
 
 
License                  1    22    5     0   17     0
 
 
 
gitignore                1     7    2     1    4      0
 
 
 
────────────────────────────────────────────────────────────────────────
 
 
 
Total                  277 51556 6843  4836 39877  3938
 
 
 
────────────────────────────────────────────────────────────────────────
 
  
 
Estimated Cost to Develop (organic) $2,678,601
 
Estimated Cost to Develop (organic) $2,678,601
 +
Estimated Schedule Effort (organic) 15.17 months
 +
Estimated People Required (organic) 7.58
  
Estimated Schedule Effort (organic) 15.17 months
+
───────────────────────────────────────────────────────────────
 +
Processed 1900090 bytes, 1.900 megabytes (SI)
 +
───────────────────────────────────────────────────────────────
 +
</pre>
  
Estimated People Required (organic) 7.58
 
  
────────────────────────────────────────────────────────────────────────
+
== Example: Semantic MediaWiki ==
 +
<code>scc --avg-wage 116393 .\SemanticMediaWiki\</code>
 +
<pre>
 +
───────────────────────────────────────────────────────────────────────────────
 +
Language                Files    Lines  Blanks  Comments    Code Complexity
 +
───────────────────────────────────────────────────────────────────────────────
 +
PHP                      2116    371230    74713    80031  216486      11026
 +
JSON                      683    91494      10        0    91484          0
 +
Markdown                  194    12278    2656        0    9622          0
 +
JavaScript                  81    44002    5918    12419    25665      4789
 +
Plain Text                  56      3607      45        0    3562          0
 +
CSS                        41    10073    1351      1179    7543          0
 +
XML                        23      2602      86        9    2507          0
 +
CSV                        12        47        0        0      47          0
 +
YAML                        7      303      41        28      234          0
 +
Shell                        6      493      111        85      297        61
 +
License                      2      695      122        0      573          0
 +
Properties File              1        53      12        26      15          0
 +
SQL                          1        6        0        0        6          0
 +
gitignore                    1        31        6        1      24          0
 +
───────────────────────────────────────────────────────────────────────────────
 +
Total                    3224    536914    85071    93778  358065      15876
 +
───────────────────────────────────────────────────────────────────────────────
 +
Estimated Cost to Develop (organic) $26,841,662
 +
Estimated Schedule Effort (organic) 36.43 months
 +
Estimated People Required (organic) 31.65
 +
───────────────────────────────────────────────────────────────────────────────
 +
Processed 17623327 bytes, 17.623 megabytes (SI)
 +
───────────────────────────────────────────────────────────────────────────────
 +
</pre>
  
Processed 1900090 bytes, 1.900 megabytes (SI)
+
== Example MediaWiki ==
 +
<code>scc --avg-wage 116393 .\mediawiki\</code>
 +
<pre>
 +
───────────────────────────────────────────────────────────────────────────────
 +
Language                Files    Lines  Blanks  Comments    Code Complexity
 +
───────────────────────────────────────────────────────────────────────────────
 +
PHP                      4713  1041286  102638    277925  660723      41989
 +
JSON                      1504  1132757      124        0  1132633          0
 +
SVG                      1145      5527      10        10    5507          0
 +
JavaScript                723    212783    20183    46153  146447      21323
 +
SQL                        229    10400      942      553    8905          4
 +
CSS                        216    14053      585      775    12693          0
 +
LESS                      172    13211    1766      2022    9423          0
 +
Markdown                    57    11596    2499        0    9097          0
 +
XML                        55      3555      40      132    3383          0
 +
Plain Text                  49    46640    3974        0    42666          0
 +
HTML                        28      458      45        5      408          0
 +
Mustache                    20      231        4        1      226          0
 +
License                    18      1386      241        0    1145          0
 +
XML Schema                  13      2828      435        0    2393          0
 +
YAML                        5      8550      29      161    8360          0
 +
gitignore                    5      108        8        18      82          0
 +
BASH                        4        54      12        9      33          5
 +
Makefile                    2        21        3        0      18          0
 +
Shell                        2        40        2        5      33          5
 +
Vue                          2        95        3        10      82          1
 +
Docker ignore                1        4        0        1        3          0
 +
Handlebars                  1        1        0        0        1          0
 +
Python                      1      452      63        30      359        94
 +
───────────────────────────────────────────────────────────────────────────────
 +
Total                    8965  2506036  133606    327810  2044620      63421
 +
───────────────────────────────────────────────────────────────────────────────
 +
Estimated Cost to Develop (organic) $167,221,716
 +
Estimated Schedule Effort (organic) 73.01 months
 +
Estimated People Required (organic) 98.40
 +
───────────────────────────────────────────────────────────────────────────────
 +
Processed 145808364 bytes, 145.808 megabytes (SI)
 +
───────────────────────────────────────────────────────────────────────────────
 +
</pre>
  
────────────────────────────────────────────────────────────────────────
 
 
[[Category:Tools]]
 
[[Category:Tools]]
 
[[Category:Quality Assurance]]
 
[[Category:Quality Assurance]]
 
[[Category:Project Management]]
 
[[Category:Project Management]]

Latest revision as of 16:15, 22 October 2024

Sloc Cloc and Code or simply SCC (aka Succinct Code Counter) is a tool similar to those before it for counting the lines of code, blank lines, comment lines, and physical lines of source code in many programming languages.

Goal is to be the fastest code counter possible, but also perform COCOMO calculation like sloccount and to estimate code complexity similar to cyclomatic complexity calculators. In short one tool to rule them all.

Why?[edit | edit source]

Why use scc?

  1. It is very fast and gets faster the more
  2. CPU you throw at it
  3. Accurate
  4. Works very well across multiple platforms without slowdown (Windows, Linux, macOS)
  5. Large language support
  6. Can ignore duplicate files
  7. Has complexity estimations
  8. You need to tell the difference between Coq and Verilog in the same directory
  9. cloc yaml output support so potentially a drop in replacement for some users
  10. Can identify or ignore minified files
  11. Able to identify many #! (shebang) files ADVANCED!
  12. Can ignore large files by lines or bytes


Example: Meza[edit | edit source]

Meza is a complex and powerful software system worth approximately $2.7 million dollars

(average salary = $116,393/year, overhead = 2.40).

The table below shows a breakdown using the Succinct Code Counter (scc) tool

C:\Users\greg\go\bin\scc --avg-wage 116393 ./src/meza

────────────────────────────────────────────────────────────────
Language       Files   Lines  Blanks Comments   Code  Complexity
────────────────────────────────────────────────────────────────

YAML             128    9361   1306      1552   6503          0
Jinja             75    7749   1533        16   6200        290
Shell             26    1883    377       521    985        136
Plain Text        14    1076    166         0    910          0
PHP               10    3747    636       486   2625        242
Markdown           7     744    236         0    508          0
Dockerfile         4     167     16         9    142         58
JavaScript         4   22950   1971      1307  19672       3170
SQL                3    1931    398       879    654          0
Python             2    1277     68        35   1174         42
CSS                1     641    129        30    482          0
INI                1       1      0         0      1          0
License            1      22      5         0     17          0
gitignore          1       7      2         1      4          0

───────────────────────────────────────────────────────────────
Total            277   51556   6843      4836  39877       3938
───────────────────────────────────────────────────────────────

Estimated Cost to Develop (organic) $2,678,601
Estimated Schedule Effort (organic) 15.17 months
Estimated People Required (organic) 7.58

───────────────────────────────────────────────────────────────
Processed 1900090 bytes, 1.900 megabytes (SI)
───────────────────────────────────────────────────────────────


Example: Semantic MediaWiki[edit | edit source]

scc --avg-wage 116393 .\SemanticMediaWiki\

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
PHP                       2116    371230    74713     80031   216486      11026
JSON                       683     91494       10         0    91484          0
Markdown                   194     12278     2656         0     9622          0
JavaScript                  81     44002     5918     12419    25665       4789
Plain Text                  56      3607       45         0     3562          0
CSS                         41     10073     1351      1179     7543          0
XML                         23      2602       86         9     2507          0
CSV                         12        47        0         0       47          0
YAML                         7       303       41        28      234          0
Shell                        6       493      111        85      297         61
License                      2       695      122         0      573          0
Properties File              1        53       12        26       15          0
SQL                          1         6        0         0        6          0
gitignore                    1        31        6         1       24          0
───────────────────────────────────────────────────────────────────────────────
Total                     3224    536914    85071     93778   358065      15876
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $26,841,662
Estimated Schedule Effort (organic) 36.43 months
Estimated People Required (organic) 31.65
───────────────────────────────────────────────────────────────────────────────
Processed 17623327 bytes, 17.623 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────

Example MediaWiki[edit | edit source]

scc --avg-wage 116393 .\mediawiki\

───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
PHP                       4713   1041286   102638    277925   660723      41989
JSON                      1504   1132757      124         0  1132633          0
SVG                       1145      5527       10        10     5507          0
JavaScript                 723    212783    20183     46153   146447      21323
SQL                        229     10400      942       553     8905          4
CSS                        216     14053      585       775    12693          0
LESS                       172     13211     1766      2022     9423          0
Markdown                    57     11596     2499         0     9097          0
XML                         55      3555       40       132     3383          0
Plain Text                  49     46640     3974         0    42666          0
HTML                        28       458       45         5      408          0
Mustache                    20       231        4         1      226          0
License                     18      1386      241         0     1145          0
XML Schema                  13      2828      435         0     2393          0
YAML                         5      8550       29       161     8360          0
gitignore                    5       108        8        18       82          0
BASH                         4        54       12         9       33          5
Makefile                     2        21        3         0       18          0
Shell                        2        40        2         5       33          5
Vue                          2        95        3        10       82          1
Docker ignore                1         4        0         1        3          0
Handlebars                   1         1        0         0        1          0
Python                       1       452       63        30      359         94
───────────────────────────────────────────────────────────────────────────────
Total                     8965   2506036   133606    327810  2044620      63421
───────────────────────────────────────────────────────────────────────────────
Estimated Cost to Develop (organic) $167,221,716
Estimated Schedule Effort (organic) 73.01 months
Estimated People Required (organic) 98.40
───────────────────────────────────────────────────────────────────────────────
Processed 145808364 bytes, 145.808 megabytes (SI)
───────────────────────────────────────────────────────────────────────────────