|
|
|
|
|
by pwnstigator
6013 days ago
|
|
I generally agree with the principle of command-query separation. One point where I would differ is that, when the command's effects aren't entirely known to the caller, it's often useful to return this information. For example, a function that creates a user account with a unique numerical user ID, that isn't known until the account is created, can return the user's ID, e.g. (create-user-account "Bob") => 9001
(defn create-acct-and-immediately-do-something [username]
(let [user-id (create-user-account username)]
(do-something-with-acct user-id)))
|
|