Я беру курс проміжних структур даних як передумову для вступу до програми MS MS в університеті, про який чули всі в Америці. Один рядок коду, написаний у класі, привернув мене до уваги:
if (a > 33 | b++ < 54) {...}
Це не пройшло перевірку коду на моєму робочому місці. Якщо ви написали такий код в інтерв'ю, це було б суттєвим страйком проти вас. (Окрім того, що є умовною з побічними ефектами, вона розумна за рахунок ясності.)
Насправді я ніколи не бачив умовних побічних ефектів, і Гуглінг теж не сильно з'являється. Ще один студент залишився позаду після заняття, щоб запитати про це теж, тож я не єдиний, хто вважав це дивним. Але професор був досить прихильний, що це прийнятний код і що він щось подібне буде писати на роботі. (Його робота в галузі фінансів - це головний SWE в компанії, про яку ви всі чули.)
Я не можу уявити собі світ, у якому ця лінія коду була б колись прийнятною, не кажучи вже про бажаною. Я помиляюся? Чи це добре? А як щодо більш загального випадку: кондиціонування з побічними ефектами? З цим колись все гаразд?