View Source Credo.Check.Readability.PredicateFunctionNames (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
Predicate functions/macros should be named accordingly:
For functions, they should end in a question mark.
# preferred defp user?(cookie) do end defp has_attachment?(mail) do end # NOT preferred defp is_user?(cookie) do end defp is_user(cookie) do end
For guard-safe macros they should have the prefix
is_
and not end in a question mark.# preferred defmacro is_user(cookie) do end # NOT preferred defmacro is_user?(cookie) do end defmacro user?(cookie) do end
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
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.