3 ms·
Instead of function check(x) { if (!test1 (x)) return false; if (!test2 (x)) return false; if (!test3 (x)) return false;
by jhgb 6y ago
Instead of
function check(x) {
if (!test1 (x)) return false;
if (!test2 (x)) return false;
if (!test3 (x)) return false;
if (!test4 (x)) return false;
return true;
}
why wouldn't you do something along the lines of
(every (lambda (f) (funcall f x)) (list #'test1 #'test2 #'test3 #'test4a))
or whatever is the equivalent in your preferred language?
- wvenable 6y agoThe tests are rarely that simple or regular.
- jhgb 6y agoIsn't that exactly the reason to put them somewhere else?
- wvenable 6y agoNo, I just mean the actual tests might be something like: if (user == null) return false; if (IsCompleted(user)) return true; if (action == null) return false; if (value < 0 || value > 100) return false; You're not usually just passing a single value to a bunch of "test" functions.
- jhgb 6y agoWell, the way it was written, I was assuming that conditions to be satisfied had separate named predicates (although combinators could alleviate even some of these things).