#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...
}