For a long time at work, our team included Credo.Check.Readability.SinglePipe in our Credo checks.
It enforces this rule:
Use a function call when a pipeline is only one function long
I didn't like that; I'd rather use my own judgment there.
I especially saw issues when allow_functions: true wasn't set to allow 0-arity functions, or when piping the result of an Ecto query to something like Repo.all.
Thankfully, this rule has been removed from the default Credo rules. Our team noticed and stopped using it.
But not before I made a song.
I don't like to brag, but this will probably be among the top 10 songs about Elixir code formatting you'll hear today.
The lyrics:
I'm just a boy who loves to pipeline
even just one function long
It hurts so bad to break the pipeline
and that is why I made this song
A function call may soon be many
or maybe not, but who can say?
Two different steps should be a pipeline
For me it is the only way