/ / Mali by ste použiť slučky iba ako iteračné slučky? [closed] - for-loop, while-loop, iterácia

Mali by byť pre slučky použité iba ako iteračné slučky? [closed] - for-loop, while-loop, iterácia

EDIT: Viem, ako používať slučky / čo im môžem použiť. Vyzývam komunitu svoje názory na to, kedy sú niektoré spôsoby používania slučiek dobré / zlé.

Len všeobecná programová otázka:

Mala by byť pre slučky použité iba pre opakovanie?

Všimnite si, že iterácia tu je veľmi vágne definovaný termín - v podstate to, čo myslím, je to tradičné for (int i = 0; i < limit; i++) a varianty tohto riešenia.

Napr.:

Pre slučky by ste nemali / nemali používať pult:

for (; keepGoing(); count++) proti while (keepGoing) { count++ }

Niektoré jazyky môžu mať tiež určité námietky alebo rôzne spôsoby používania. Bez toho, aby som sa dostal príliš konkrétne, sa pozriem na otázku z modelu používania jazyka C ++ / C # / Java.

Čo treba zvážiť:

  • Jednoduché kódovanie.
  • Čitateľnosť kódu.
  • Pravdepodobnosť spôsobenia chyby (t. J. Chyby typu "off-by-one" sú bežnejšie s určitým používaním v smyčke alebo pri použití slučky).

odpovede:

2 pre odpoveď č. 1

Môžete použiť slučku aj pre čítače, sú tiež nejakým druhom iterácie.

Mali by ste sa však vyhnúť slučkám takto:

for(;;){
}

alebo

while(true){
}

Tiež sa snažte zabrániť pokračovaniu a zlomiť stavov v slučke, pretože robia kód ťažký na čítanie a ladenie.


1 pre odpoveď č. 2

Jediný veľký hriech pri používaní slučky for je modifikácia premennej počítadla. To vytvára veľmi ťažké zachovať kód.

Iné ako to, že slučka slučka nezaručuje, že slučka sa spustí raz. Len a doslučka to môže zaistiť. Ak to nie je problém, stane sa otázkou osobného vkusu a štýlu.