It's a shame it didn't mention the _reason_ for Yoda Conditions: as a protection against accidentally using the assignment operator rather than a check for equality. Accidentally writing if (foo=4) { } will not raise an exception, whereas if (4=foo) {} does, thus alerting you of your typo rather than allowing a rather nasty bug to persist.