LL
XYSize: a a a
LL
XYPG
YS
PG
V
clean_storage(key, keys) - начини сигнатуры функции, а то непонятно, что за key, что за keys, что за storage, в чём должно заключаться cleanYS
YS
LL
V
если да, то удалить его, другие не трогать
если нет - удалить все
YS
YS
YS
YS
** (ArgumentError) invalid right argument for operator "in", it expects a compile-time proper list or compile-time range on the right side when used in guard expressions, got: keysYS
AD
defp clean_storage(key, keys), do: clear(key, keys, key in keys )
defp clear(key, _keys, true), do: key |> Storage.delete()
defp clear(_key, keys, false), do: keys |> Enum.each(&Storage.delete/1)
PG
single responsibility left the groupLL
single responsibility left the group
V
если да, то удалить его, другие не трогать
если нет - удалить все
key in keys и key not in keys различается смысл аргумента keys. Это настолько пхп-стайл, что подозреваю ошибку проектирования функций уровнем выше.V