I like getting unopinionated feedback on the quality of the code I write. Sometimes I can get this from other developers but they tend to get annoyed being asked after every commit whether they consider it an improvement.
Using the tools means very little without some reference or understanding doesn’t get you very far. For a while I’ve been using flog and only comparing the numbers against other codebases I control. I finally googled around and found a blog post by a developer named Jake Scruggs from a while ago (2008).
The blog post includes a rough table for assessing scores on individual methods reported from the flog utility. From what I can tell the ranges are still pretty accurate. I’ve tweaked the descriptions a bit to fit my mental understanding a bit but the table is here:
|0 - 10||Awesome|
|10 - 20||Decent|
|20 - 40||Might need refactoring|
|40 - 60||Should probably review|
|60 - 100||Danger|
|100 - 200||Raise the alarm|
|200+||Seriously what are you doing!?|
I wanted to extend this with a second table providing a scale for the overall method average with a more aggressive scale (an individual couple of methods can be justifiably complex but the overall code base shouldn’t be riddled with them) but had a hard time working it out.
I’ve seen some awesome code bases with a score of 6.4 on average, some bad larger ones with 7.8. Even some mediocre ones around a score of 10.6.
I guess I’ll have to think more on it…