Credence.Pattern.PreferEnumReverseTwo
(credence v0.5.0)
Copy Markdown
Performance rule: Flags Enum.reverse(list) ++ other_list.
Enum.reverse/1 creates a new list, and ++ traverses that new list
entirely to append the second. This is a 2-pass operation.
Using Enum.reverse/2 performs both actions in a single optimized pass.
Bad
defp do_merge([], l2, acc), do: Enum.reverse(acc) ++ l2Good
defp do_merge([], l2, acc), do: Enum.reverse(acc, l2)