Ź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()} | :error
Aß
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