Description
Context
Initially the SkunkScore was calculated as churn * cost * penalty. This made sense based on the churn vs. complexity idea -> https://www.agileconnection.com/article/getting-empirical-about-refactoring
However, I quickly realized that this formula would not work when running skunk -b master
-- more here: https://www.fastruby.io/blog/code-quality/escaping-the-tar-pit-at-rubyconf.html
So I decided to change the formula to be cost * penalty.
Alternatives
I think a potential solution is to apply a modified weight to churn, so that the formula could look like this:
skunk_score = (magical_weight * churn) * cost * penalty_factor
That way, the formula could work both as a snapshot and as a comparison between two branches.
Test
Testing this should show that removing complexity in a module, git committing, and then running skunk -b master
produces a lower skunk score.