Так, недавно я думал, что я был очень умным (что-то я узнал, не всегда хорошая черта, когда программирует) и пытался реорганизовать что-то вроде этого:инкремента переменные внутри условных операторов
counter++
if (counter > something) {
doThisCoolThing()
}
в нечто как это
if (++counter > something) {
doThisCoolThing()
}
, но я сразу сказал, что я не должен этого делать, и пришлось перенести счетчик увеличивающиеся обратно вверх линию.
Я просмотрел интернет для получения информации по этому вопросу, и я придумал несколько страниц на MDN, самое актуальное высказывание "The increment operator increments (adds one to) its operand and returns a value. [...] If used prefix with operator before operand (for example, ++x), then it returns the value after incrementing.", которое, по-видимому, указывает на то, что приращение переменной внутри условного оператора было бы вполне законным. Единственное, что было связано с предупреждением, которое я мог найти, касалось simple assignment, например. if (x = y)
, но это if ((x = y))
был в порядке.
Я просто хотел получить другие мнения по этому поводу. Это плохая практика или она полностью действительна?
Спасибо
Поскольку это не вопрос, где есть правильный ответ, вы должны задать свой вопрос в http://codereview.stackexchange.com/ Семантический нет никакой разницы , поэтому ваша программа должна вести себя одинаково. – hgoebl
, который работает, проблема заключается в том, что код трудно читать. На мой взгляд, это не очень хорошая практика. –
Кто вам сказал, что вы не должны это делать, друг, коллега, начальник, другой человек на переполнение стека? –