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
Do not nest module definitions inside other modules.
Nested modules can cause cyclic dependencies and compilation errors. Each module should live in its own file.
# BAD
defmodule Outer do
defmodule Inner do
# ...
end
end
# GOOD — separate files, separate modules
defmodule Outer do
# ...
end
defmodule Outer.Inner do
# ...
endCheck-Specific Parameters
Use the following parameters to configure this check:
:exclude_test_files
When true, skips test files. Default: true. Set to false to also flag nested modules in test helpers.
This parameter defaults to true.
General Parameters
Like with all checks, general params can be applied.
Parameters can be configured via the .credo.exs config file.