Неверный стиль управления

uggorim спросил: 13 июня 2018 в 11:29 в: c++

Являются ли они одним из плохого стиля программирования?

Изменить: приведенный ниже код просто добавьте значение i в переменную pseudoRandom, чтобы сгенерировать "случайное" число ... Это просто для моего вопроса.

int pseudoRandom{};
int i{44};
while(i)
{
    pseudoRandom += i;
    i--; // decrement here
}

Или:

int pseudoRandom{};
int i{44};
while(i--) // or here
{
    pseudoRandom += i;
}

Спасибо!

1 ответ

Nicol Bolas ответил: 13 июня 2018 в 01:42

Вы инициализируете переменную, которая управляет циклом, проверяет ее на каждой итерации и настраивает каждую итерацию без сбоев. Это указывает на цикл for, а не while.

Как таковой, я бы сказал, что это не идиоматический C ++. Правильной идиомой будет:

for(int i = 44; i != 0; --i)
{
  pseudoRandom += i;
}

Если вам понадобится i после цикла, вы можете переместить int i = 44 из for. Но в противном случае ничего не изменится.

uggorim ответил: 14 июня 2018 в 02:19
Хорошо, спасибо. для инкремента, декрементов, а для значений bool - еще раз.

Дополнительное видео по вопросу: Неверный стиль управления

Elements of Programming Style - Brian Kernighan

How I program C

Variable Naming Conventions