考慮代碼:二郎:簡單的重構
f(command1, UserId) ->
case is_registered(UserId) of
true ->
%% do command1
ok;
false ->
not_registered
end;
f(command2, UserId) ->
case is_registered(UserId) of
true ->
%% do command2
ok;
false ->
not_registered
end.
is_registered(UserId) ->
%% some checks
現在想象一下,有很多的命令,他們都是呼叫is_registered在第一。 有什麼辦法來推廣這種行爲(重構此代碼)?我的意思是,在所有命令中放置相同的案例並不是一個好主意。