Use when understanding and fixing common Credo check issues for Elixir code quality and consistency.
Read-only skill
Additional assets for this skill
This skill cannot use any tools. It operates in read-only mode without the ability to modify files or execute commands.
Understanding and fixing common Credo issues.
Ensure consistent code style across the project.
Identify design issues and anti-patterns.
Improve code readability and maintainability.
Highlight refactoring opportunities.
Catch potential bugs and issues.
# Issue: Missing module documentation
defmodule MyModule do
end
# Fixed
@moduledoc """
This module handles user authentication.
"""
defmodule MyModule do
end
# Issue: High cyclomatic complexity
def complex_function(x) do
if x > 10 do
if x < 20 do
if rem(x, 2) == 0 do
:even_mid
else
:odd_mid
end
else
:high
end
else
:low
end
end
# Fixed: Extract to separate functions
def classify_number(x) do
case {x > 10, x < 20, rem(x, 2) == 0} do
{false, _, _} -> :low
{true, false, _} -> :high
{true, true, true} -> :even_mid
{true, true, false} -> :odd_mid
end
end
# Issue: Single pipe
list |> Enum.map(&(&1 * 2))
# Fixed
Enum.map(list, &(&1 * 2))
# Issue
def process({:ok, result}, _context) do
result
end
# Fixed: Prefix with underscore
def process({:ok, result}, _context) do
result
end