что должен сказать комментарий, когда программист осознает, что это плохой стиль, но необходимый

#c #coding-style

#c #стиль кодирования

Вопрос:

Короче говоря, у меня есть такой код. Я знаю его плохой стиль, но много думал об этом, и альтернативы хуже. Что я должен сказать в комментарии и куда я должен его поместить?

 while(1)
{
    if(x y == z)//some comparison
    {
        …//do something
    }
    else
    {
        break;
    }
}
  

Комментарии:

1. Затем он должен сказать: «это плохой стиль, но необходимый».

2. Опубликованный вами код может быть записан как while (x y == z) { /* do something */ } . Я предполагаю, что ваш реальный код не так прост.

Ответ №1:

Предполагая, что задействовано больше кода, поэтому очевидное

 while(x y == z)
{
}
  

невозможно, вы могли бы использовать дополнительную переменную для обозначения состояния цикла.

 do_loop = 1;
while (do_loop)
{
    // more code
    do_loop = (x y == z);
    if (do_loop)
    ...
}
  

Он предлагает больше возможностей, особенно если задействовано более глубокое вложение, поскольку break; оставит только самый внутренний цикл. Конечно, вы должны использовать более точное наименование для условия вместо общего do_loop , например coords_are_equal .

Если все альтернативы хуже, включая эту, тогда просто прокомментируйте это как есть: «Все альтернативы оказались хуже, чем это».

Ответ №2:

Вы можете подумать о том, чтобы переписать это как

 while (x y == z) {
   // Do something...
}