Credence.Pattern.NoGroupByForFrequencies (credence v0.7.1)

Copy Markdown

Detects Enum.group_by(enum, key_fn) |> Map.new(fn {k, group} -> {k, length(group)} end) which counts occurrences by key — exactly what Enum.frequencies_by/2 does, but with unnecessary intermediate per-group lists.

Bad

Enum.group_by(words, &String.downcase/1)
|> Map.new(fn {key, group} -> {key, length(group)} end)

Map.new(Enum.group_by(words, &String.downcase/1), fn {k, g} -> {k, length(g)} end)

Good

Enum.frequencies_by(words, &String.downcase/1)