How HuoCode reads a repository
Two measurements per Java file, compared with the other files of the same repository. The code is never run or built.
How complex the file is
We take the file's most complex method and count its independent paths (cyclomatic complexity). Above 10 is the widely used limit where a method gets hard to test and to read.
How much it changes
Over the last 500 commits, we add up the lines added and deleted in the file, blank lines aside. A file counts as changing a lot when it stands well above the rest of the repository.
Where the two meet
Crossing both gives four groups. A hotspot is complex and changing a lot: the place where a change most needs a careful review.
Hotspot
Complex and changing a lot.
Complex but stable
Complex, rarely changed.
Changes often
Simple, changed a lot.
Calm
Simple and stable.
The score
Each file gets a health score from 20 to 100. It drops with complexity and with change, and only drops sharply when both are high. The repository score averages production files, weighted by size. Test files are shown, never counted.
score = max(20, 100 − 55 × complexity penalty − 45 × activity penalty)- 80–100Healthy
- 50–79Needs attention
- 20–49Critical
What it doesn't tell you
Scores compare files within one repository; an 80 here is not an 80 elsewhere. Under 15 Java files there are too few to compare, so no score is given. Files in other languages are listed but never counted as healthy.
This tool identifies areas to prioritize for human review. It is not a security audit, nor a guarantee of code reliability. For critical projects, manual review by experts and dedicated audit tools remain essential.