@alto777 quite true, but even your refinement does not make the code behave exactly as the original in all circumstances. In the original, if condition_1 is true, condition_2 and _3 are not evaluated. In both our versions, all 3 are always evaluated, and any side-effects of those evaluations will always occur, unlike in the original. For example the conditions might compare one variable to another and apply ++ or -- to one variable.
But judging by the question, I think short circuit evaluation and side-effecting are a little beyond @staroflaw 's experience at this point. They need to build up their basic coding skills at the moment, and the effects we are discussing will make more sense when they encounter them for the first time in their own code.