Code health
This codebase scores 7.4 out of 10 for code health, which we rate good. It also scores maintainability 7.8 and static performance 9.5 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 2 of 2,318 files are git hotspots, and they average 2.7 — which is where the fixes pay off most.
4 things worth doing this quarter.
Break up copyCustomizationIntoWebapp (CCN 11, 50 lines)
web/src/main/java/org/openmrs/web/Listener.java:462
copyCustomizationIntoWebapp nests its control flow deeply, and part of it is duplicated, so splitting it also removes a copy.
Break up doPost (CCN 62, 351 lines)
web/src/main/java/org/openmrs/web/filter/initialization/InitializationFilter.java:649
doPost nests its control flow deeply, and part of it is duplicated, so splitting it also removes a copy; changed 3 times in 90 days.
Delete 56 unused symbols and files (5,341 lines)
Nothing in the graph reaches them, across 51 files; every reader and agent pays to skip them.
Break up execute (CCN 18, 88 lines)
api/src/main/java/org/openmrs/util/databasechange/GenerateUuid.java:135
execute nests its control flow deeply.
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.
Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.