Otóż sprawa rozchodzi się o pojęcie “dobrej praktyki”.
Kilka razy już spotkałem się z opinią, że stosowane prze zemnie szeroko rozwiązanie
while(true)
{
polecenia
if(warunek) break;
}
Na przykład do różnego rodzaju menu, zamiast preferowanego
do
Polecenia
while(warunek);
Nazywane było “złą praktyką”. Generalnie (nawet raz kazano mi) tak nie robić.
Natomiast nikt nigdy mi nie był w stanie wyjaśnić czemu niby moje rozwiązanie jest złe?
- Teza jaką słyszałem, to że nie ładnie tworzyć pętle nieskończone.
No ale zaraz, przecież każdy program z API działa w takiej pętli! Nie wchodząc już w ten drobny szczegół, że na poziomie ASEMBLER-a i tak wszystkie moje pętle są tak właśnie rozwiązane.
Tak więc czemu ja, jako programista miałbym tego nie stosować?
- Teza jaką słyszałem, to że nie ładnie jest wychodzić z pętli za pomocą break-a;
No zaraz, przecież w instrukcji case nawet należy stosować break-i, tak więc najwyraźniej nie jest to takie zło jak by się mogło wydawać.
Poza tym, skoro język zezwala na takie zastosowanie to czemu ich nie stosować?
Tak więc chciałbym się dowiedzieć czy twierdzenie o “złej praktyce” jest oparte na jakiś sensownych argumentach, czy jest to porostu coś niezgodnego z akademickim schematem profesura?