View Source Credo.Check.Readability.SinglePipe (Credo v1.7.5)
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
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
Use the following parameters to configure this check:
:allow_0_arity_functions
Allow 0-arity functions
This parameter defaults to false
.
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs
config file.