| Code lines (LLOC) | Procs | % | Distribution |
|---|---|---|---|
| 1-4 | 12 | 46% | ********* |
| 5-9 | 9 | 35% | ******* |
| 10-14 | 1 | 4% | * |
| 15-19 | 1 | 4% | * |
| 20-39 | 2 | 8% | ** |
| 40-59 | 0 | 0% | |
| 60-79 | 0 | 0% | |
| 80-80 | 1 | 4% | * |
| Total | 26 | 100% | |
| Longest procedure | 80 | ||
| Average procedure | 9.7 | ||
| Average length | 145 | LINES | |
| Average kilobytes | 5.6 | kB |
| Longest file | 249 | LINES | PicMain.bas |
| Shortest file | 50 | LINES | PicInfo.cls |
| Largest file | 10.2 | kB | PicMain.bas |
| Smallest file | 1.9 | kB | PicInfo.cls |
| Complexity | Procs | % | Distribution | Description |
|---|---|---|---|---|
| 1- 4 | 24 | 92% | ****************** | Simple procedure |
| 5-10 | 1 | 4% | * | Well structured, stable |
| 11-20 | 0 | 0% | More complex | |
| 21-50 | 1 | 4% | * | Complex, alarming |
| 51- | 0 | 0% | Error-prone, troublesome | |
| Total | 26 | 100% |
| Average complexity | 2.65 | |
| Decision density | 0.27 | DECDENS=CC/LLOC, complexity per a line of code |
| Total complexity | 44 | TCC = total number of decisions + 1 |
| Recommended maximum | 5 | |
| Actual maximum | 5 | |
| Too high (DCOND > 5) | 0 | procedures (0%) |
| Average DCOND | 0.8 |
| Average SFOUT | 0.81 | Structural fan-out |
| Average DLOOPS | 0.00 | Depth of looping |
| Average IFIN | 2.42 | Informational fan-in |
| Average IFIOUT | 1.35 | Informational fan-out |
| Average IC1 | 132 | Informational complexity |
| Logical lines of code LLOC | 371 | 52% | |
| Logical lines of comment LLOC' | 173 | 24% | |
| Lines of whitespace LLOW | 173 | 24% | |
| Total logical lines LLINES | 717 | 100% | |
| Comment types | |||
|---|---|---|---|
| Full-line comments | 173 | 75% | |
| End-of-line comments | 58 | 25% | |
| All comments | 231 | 100% | |
| Comment contents | |||
| Meaningful comments MCOMM | 224 | 97% | |
| Meaningless comments | 7 | 3% | |
| All comments | 231 | 100% | |
| Comment density | |||
| MCOMM per code line (MCOMM%) | 60% | MCOMM/LLOC | |
| MCOMM | Procs | % | Distribution |
|---|---|---|---|
| 0 | 1 | 4% | * |
| 1-2 | 11 | 42% | ******** |
| 3-5 | 9 | 35% | ******* |
| 6 or more | 5 | 19% | **** |
| Total | 26 | 100% | |
| Average MCOMM | 5.4 |
| Average length of names LEN | 11.3 | |
|---|---|---|
| Procedure names LENP | 10.9 | (excl. event handlers/implements procs) |
| Variable names LENV | 9.3 | (excl. event handler/implements params) |
| Constant names LENC | 16.1 | |
| Control names | 6.7 | |
| Type/Enum names | 12.1 | (incl. enum constants and type fields) |
| Length | % | Distribution |
|---|---|---|
| 1 | 1% | |
| 2 | 0% | |
| 3 | 1% | |
| 4-6 | 17% | *** |
| 7-9 | 27% | ***** |
| 10-14 | 27% | ***** |
| 15-19 | 17% | *** |
| 20-24 | 11% | ** |
| Total names | 167 | |
| Unique names | 143 | |
| Name uniqueness ratio UNIQ | 86% |
| SFIN | Procs | % | Distribution |
|---|---|---|---|
| 0-1 No reuse | 28 | 97% | ******************* |
| 2-4 Slight reuse | 1 | 3% | * |
| 5-9 Significant reuse | 0 | 0% | |
| 10- High reuse | 0 | 0% | |
| Average: 0.7 |
| Problematic | Total | % | |
|---|---|---|---|
| Dead procedures | 4 | 29 | 14% |
| Removable code lines in procs | 13 | 254 | 5% |
| Dead variables | 2 | 25 | 8% |
| Dead constants | 2 | 20 | 10% |
| Dead Types | 0 | 6 | 0% |
| Dead Enums | 0 | 2 | 0% |
| Problematic | Total | % | |
|---|---|---|---|
| Missing variable type | 0 | 25 | 0% |
| Excess var/const scope | 0 | 45 | 0% |
| No var/const scope | 0 | 45 | 0% |
| Missing ByVal/ByRef | 0 | 37 | 0% |
| Missing function type | 0 | 21 | 0% |
| Excess procedure scope | 1 | 29 | 3% |
| No procedure scope | 0 | 29 | 0% |
| Problems reported | 45 |
| Lines of code (LLOC) | 371 |
| Source procedures | 29 |
| Problems / LLOC | 0.1 |
| Problems / procedure | 1.6 |