ŹR
Size: a a a
ŹR
LL
when not is_nil, да?IK
nil-овwith декомпозируют в функции и матчатся в нихdef update_username(id, newname) do
id
|> do_get_user()
|> do_update_username()
end
defp do_get_user(nil), do: nil
defp do_get_user(id), do: User.get(id)
defp do_update_username(nil, _), do: nil
defp do_update_username(user, name), do: User.update(user, name: name)
ŹR
ŹR
LL
result :: any() | nil, вместо {:ok, result :: any()} | :errorAß
AB
def with_not_nil(nil, key), do: {:error, {key, nil}}
def with_not_nil(v, key), do: {key, v}
...
with {:a, a} <- Map.get(x, "a") |> with_not_nil(:a)
...AB
AB
LL
with-то?Aß
with-то?LL
<- по-разному, то лучше всё вынести в различные функции простоLL
Aß
LL
<- по-разному, то лучше всё вынести в различные функции простоAB
<- по-разному, то лучше всё вынести в различные функции простоB
B
TC