BeeBEEP in numbers
How big BeeBEEP is: files, lines of code, classes, tests, translations and documents, counted from the source.
Per: sviluppatori, traduttori · Da BeeBEEP 6.0.0 · Aggiornata il
Mi dispiace, ma per mancanza di tempo, alcune di queste risorse potrebbero essere solamente in lingua Inglese.
This page counts what BeeBEEP is made of: its source files, lines of code, tests, translations and documents. It is for anyone who wants to size up the project before reading it, building it or contributing to it. Every number below comes from the source itself and is rewritten by a program, so it is as recent as the version named in the first sentence.
At a glance
This count is for version 5.99.0. The program is 1,045 source files and 206,192 lines, 112,807 of them code, in 388 classes. 4,304 test functions check it, 25 languages translate it and 23 documents describe it.
Source code by area
The program is split by what each part does. The core library holds all the logic and has no interface; the two interface rows are the C++ and the QML that draw it; the legacy bridge lets BeeBEEP 6 talk with BeeBEEP 5. The last row counts the automated tests apart: they are not part of the total above them.
| Area | Files | Code | Comments | Blank | Lines |
|---|---|---|---|---|---|
| Core library | 686 | 67,250 | 48,547 | 16,027 | 131,824 |
| Legacy 5.x bridge | 55 | 8,280 | 3,173 | 1,533 | 12,986 |
| Interface, C++ side | 134 | 12,325 | 7,750 | 2,892 | 22,967 |
| Interface, QML side | 108 | 15,724 | 6,082 | 2,248 | 24,054 |
| Plugins | 41 | 4,725 | 2,087 | 576 | 7,388 |
| Plugin SDK | 4 | 372 | 103 | 44 | 519 |
| Build and packaging | 17 | 4,131 | 1,710 | 613 | 6,454 |
| Total | 1,045 | 112,807 | 69,452 | 23,933 | 206,192 |
| Automated tests | 747 | 117,705 | 29,127 | 23,777 | 170,609 |
Source code by language
The same total, split by the language the code is written in.
| Language | Files | Code | Comments | Blank | Lines |
|---|---|---|---|---|---|
| C++ | 880 | 88,233 | 59,748 | 20,525 | 168,506 |
| QML | 108 | 15,812 | 6,217 | 2,326 | 24,355 |
| JavaScript | 38 | 4,489 | 1,986 | 522 | 6,997 |
| Python | 4 | 966 | 286 | 213 | 1,465 |
| CMake | 6 | 1,849 | 705 | 138 | 2,692 |
| Shell and batch | 7 | 1,127 | 482 | 155 | 1,764 |
| CSS | 2 | 331 | 28 | 54 | 413 |
| Total | 1,045 | 112,807 | 69,452 | 23,933 | 206,192 |
Everything else
| What | How many |
|---|---|
| Test functions | 4,304 |
| Classes and structures in the program's headers | 388 |
| Languages the interface is translated into | 25 |
| Texts to translate | 987 |
| Documents | 23 |
| Words in the documents | 44,852 |
| Vector pictures (SVG) | 111 |
| Raster pictures (PNG) | 141 |
How the numbers are counted
- Only tracked files. What a build leaves behind and what is downloaded to build are not counted.
- A line is code, a comment or blank. A comment is a line that starts with a comment mark, or that sits inside a block comment. A line of code followed by a comment on the same line is code. The count is deliberately simple, so it can differ by a little from other tools.
- Not counted as lines. Pictures, the translation files, the compiled translations and the data files are counted as files only.
- Classes are the class and structure definitions at the top of the program's headers. Enumerations, namespaces and free functions are not classes, so the count is lower than the number of headers.
- Test functions are the functions each test file registers to run. One function can check many cases, so they are not the number of individual checks.
- Texts to translate is the largest number of interface texts found in one language file.