Ithibati.Credo.NoInternalCalls (Ithibati v0.1.0)

Copy Markdown View Source

Basics

This check is disabled by default.

Learn how to enable it via .credo.exs.

This check has a base priority of high and works with any version of Elixir.

Explanation

Some of Ithibati's functions are public only so that Ithibati can assemble its own flows across modules. Elixir has no way to say that: defp does not reach across a module, and nothing in the language hides a function from a caller. So Ithibati marks those functions @doc false, or puts them in a module marked @moduledoc false, and this check reports a call to one.

What is marked is not a matter of taste. It is what Ithibati will change without telling you, because a release that is careful about its public surface is careless about the rest.

If something you need is only reachable past that line, say so rather than reaching for it. The gap is in Ithibati, and a function somebody depends on is one worth documenting.

The list is not kept here. The check reads it from the compiled modules, so it is whatever the code says today and cannot drift from it.

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.