Credo.Check.Readability.SinglePipePatch (Noizu Core v0.1.5)
basics
Basics
This check is disabled by default.
Learn how to enable it via
.credo.exs
.
This check is tagged
:controversial
This means that this check is more opinionated than others and not for everyone's taste.
This check has a base priority of high
and works with any version of Elixir.
explanation
Explanation
Pipes (|>
) should only be used when piping data through multiple calls.
So while this is fine:
list
|> Enum.take(5)
|> Enum.shuffle
|> evaluate()
The code in this example ...
list
|> evaluate()
... should be refactored to look like this:
evaluate(list)
Using a single |> to invoke functions makes the code harder to read. Instead, write a function call when a pipeline is only one function long.
Like all Readability
issues, this one is not a technical concern.
But you can improve the odds of others reading and liking your code by making
it easier to follow.
check-specific-parameters
Check-Specific Parameters
Use the following parameters to configure this check:
allow_0_arity_functions
:allow_0_arity_functions
Allow 0-arity functions
This parameter defaults to false
.
excluded_functions
:excluded_functions
Allow single pipes starting with Module.function in list.
This parameter defaults to []
.
general-parameters
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs
config file.