So, as often happens, I encountered the following code at work:
It's basically a zipped file, containing other zipped files, containing supermarket sales item data. This little bit of code just decides if a file should be parsed.
SonarLint quite rightly complained "Refactor this method to reduce its Cognitive Complexity".
And I quite quickly came up with the thought that it's really a list, where we can stop evaluating the list after the first match.
So, it becomes something like:
But, of course we have streams now:
It looks better, no?
It's a trivial example, but I like it.
Addendum
A colleague mentioned that I should do a bit of this differently. Move some more stuff into the enum.
The result becomes something like this:
Moving knowledge into the Enum, seems to be a better fit here.