If you have the choice, use lazy evaluation for expressions that may not be evaluated at all or may lead to programming errors under certain circumstances when evaluated.
The classic case is implemented in most languages descending from C and is called "short circuit operators":
if (i != 0 && n/i > 100) ...
Here, n/i > 100
will only be computed when i
is not 0. Which is nice, since it avoids a zero divide error.