Skip to content

v0.2.0

@dannote dannote tagged this 08 Mar 15:41
New checks:
- SortThenReverse: Enum.sort() |> Enum.reverse() → Enum.sort(:desc)
- WithIdentityDo: with {:ok, v} <- f() do {:ok, v} end → f()
- StringConcatInReduce: O(n²) string concat in Enum.reduce → Enum.join
- RejectNil: Enum.reject(fn x -> x == nil end) → Enum.reject(&is_nil/1)
- NarratorComment: 'Here we...', 'Now we...', 'Let\'s...' inline comments

Tightened existing checks to reduce false positives:
- ObviousComment: expanded technical detail keywords (so that, workaround,
  cannot, bootstrap, etc.)
- NarratorComment: narrowed patterns (dropped 'We need/can/first' — common
  in Elixir core), added explanation filter, lowered max length to 60 chars

Validated against 17 open-source projects including Elixir stdlib, Phoenix,
Ecto, Credo, Ash, Blockscout, Glific, and Oban. Zero false positives on
new checks; significant FP reduction on tightened checks.
Assets 2
Loading