2015-11-19 2 views
-2

Je sais que beaucoup de gens me ont suggéré de ne pas utiliser un code tel quePourquoi ces commandes C++ sont-elles méprisées?

using namespace std; 

ou

system ("pause"); 
system ("cls"); 
system ("color f0");//and other system commands 

ou

goto TitleScreen; 
goto DeathScreen; 

ou

break; 

et je m juste w Pourquoi ces choses sont-elles méprisées et quelles commandes C++ peuvent remplacer les mauvaises habitudes des miennes?

+2

Alors vous ne savez vraiment pas pourquoi 'goto' est méprisé? Jamais entendu parler de code spaghetti? – PaulMcKenzie

+1

La plupart d'entre eux sont méprisés, et généralement pour de bonnes raisons, mais qu'est-ce qui vous fait penser que «casser» est? Ce n'est pas. –

+0

Je ne sais pas qui a dit 'break' mais il est certainement utilisé dans beaucoup de cas, comme' switch'. Pour 'goto', dans la plupart des cas, vous n'aurez pas besoin de l'utiliser si vous concevez votre code correctement. Pour moi 'goto 'diminue la lisibilité du code. – macroland

Répondre

7

Bon, allons-y un par un. Je vais poster des liens vers d'excellents articles par d'autres personnes, il n'y a pas de points qui réinventent la roue, et ils ont fait du très bon travail.

using namespace std; 

Why is "using namespace std" considered bad practice?

system ("pause"); 
system ("cls"); 
system ("color f0");//and other system commands 

Why system() is evil

break; 

Il n'y a rien nécessairement mal de rupture si elle est utilisée avec modération. Trop de pauses dans une boucle for peuvent suggérer que votre logique devient un peu trop complexe, et peut être factorisée, mais en général, la plupart des «dangers» avec break et continue peuvent être atténués en écrivant du code clair.