Credence.Pattern.PreferEnumReverseTwo (credence v0.4.1)

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) ++ l2

Good

defp do_merge([], l2, acc), do: Enum.reverse(acc, l2)