Basics
This check is disabled by default.
Learn how to enable it via .credo.exs.
This check has a base priority of low and works with any version of Elixir.
Explanation
Multiple @doc false on public functions in the same module is a
code smell — typically cargo-culted from Phoenix generators.
A single @doc false is a deliberate choice. But when an LLM
sprays it across every function, it's hiding the API surface.
# bad — every public function has @doc false
defmodule MyAppWeb.UserController do
@doc false
def index(conn, _params), do: ...
@doc false
def show(conn, %{"id" => id}), do: ...
@doc false
def create(conn, %{"user" => params}), do: ...
end
# good — either document or make private
defmodule MyAppWeb.UserController do
def index(conn, _params), do: ...
def show(conn, %{"id" => id}), do: ...
endCheck-Specific Parameters
Use the following parameters to configure this check:
:min_count
Minimum @doc false count per module to trigger (default: 2).
This parameter defaults to 2.
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs config file.