We have 26 different possible linear paths through MatchNumber#initialize and a number of other methods have similarly high complexities. Also, many of these same methods are large, branching statements that seem to have a high amount of behavioral variance. These two characteristics are code smells, and indicate that something is bad about these methods.
It would be advantageous to write up a spec for these ones and to then refactor out things. We could just do a risky protection-less refactor, but that's risky and sad. Spec first.
We have 26 different possible linear paths through
MatchNumber#initialize
and a number of other methods have similarly high complexities. Also, many of these same methods are large, branching statements that seem to have a high amount of behavioral variance. These two characteristics are code smells, and indicate that something is bad about these methods.It would be advantageous to write up a spec for these ones and to then refactor out things. We could just do a risky protection-less refactor, but that's risky and sad. Spec first.