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.