View Source Credo.Check.Refactor.NegatedConditionsInUnless (Credo v1.7.5)
Basics
This check is enabled by default.
Learn how to disable it via
.credo.exs
.
This check has a base priority of high
and works with any version of Elixir.
Explanation
Unless blocks should avoid having a negated condition.
The code in this example ...
unless !allowed? do
proceed_as_planned()
end
... should be refactored to look like this:
if allowed? do
proceed_as_planned()
end
The reason for this is not a technical but a human one. It is pretty difficult to wrap your head around a block of code that is executed if a negated condition is NOT met. See what I mean?
Check-Specific Parameters
There are no specific parameters for this check.
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs
config file.