Пустое тело цикла.

Номер: 
48
Тип: 
Warning

Часто, пустое тело цикла - это обидный, и трудноразличимый на code review  результат опечатки.

Иногда программисты используют пустой цикл для ожидания события из другого потока, но и в этом случае безумные проверки с максимально возможной частотой не кажутся элегантным решением. Может быть стоит хотя бы вставить в цикл sleep или почитать про доступные в Windows функции синхронизации потоков.

Примеры: 
for i:= 1 to n do;
begin
  Foo1(i); // Эти методы будут вызваны только один раз.
  Foo2(i);
end;
var 
    ThreadComplete: Boolean;
begin
  ThreadComplete := false;
  while not(ThreadComplete) do ; // На период ожидания процессор будет занят на 100%
                                 // Довольно неуклюжее решение. 
end;