github.com/titpetric/tools/splint
A data model of Go source, two parsers that fill it, and a linting framework over the top.
96/100: overall quality above the stdlib waterlevel. Compare against stdlib or another package. How ratings work. API and README badge.
The Go project is only 31x bigger than this project (2891 files against 91).
| Check | Score | Bonus | |
|---|---|---|---|
| complexity | 99 | ||
| average cyclomatic complexity 4.23 against the stdlib average of 4.22 | |||
| complexity_p95 | 100 | +10 | |
| 95th percentile cyclomatic complexity 11 against the stdlib waterlevel of 15 | |||
| file_size_curve | 100 | +10 | |
| share of small files +11.0% against the stdlib size curve | |||
| godoc_coverage | 88 | ||
| 125 of 182 exported symbols carry godoc (68% against the stdlib waterlevel of 77%) | |||
| median_file_size | 100 | +10 | |
| median file 2022 B against the stdlib waterlevel of 3966 B | |||
| median_package_size | 100 | +10 | |
| median package 11855 B against the stdlib waterlevel of 21278 B | |||
| test_ratio | 51 | ||
| 75 test functions for 182 exported symbols (41% pairing, ideal band 80-100%, stdlib waterlevel 80%) | |||