Credence.Rule.NoManualStringReverse
(credence v0.2.0)
Copy Markdown
Readability & performance rule: Detects the pattern
String.graphemes(s) |> Enum.reverse() |> Enum.join() which is a manual
reimplementation of String.reverse/1.
String.reverse/1 handles Unicode grapheme clusters correctly and avoids
creating an intermediate list, making it both clearer and faster.
Bad
reversed = str |> String.graphemes() |> Enum.reverse() |> Enum.join()Good
reversed = String.reverse(str)