flag=0;while(condition1){switch(state)case1:si(condition2){state=3;flag=1;continue;}break;case2:case3:si(flag!=0){// des trucs}sinon{// d'autres trucs}case4:si(state==2||state==3){// des trucs}// du code commun à 2,3 et 4// enfin ... "commun" mais avec quand même des traitements conditionnels}
j'étais un peu optimise en fait, c'est étalé sur environ 3000 lignes de gloubi boulga :D
en réponse à delio :
Ca ressemble à la façon habituelle de coder une machine à état.
oui, le problème ici c'est qu'il y avait plusieurs états possibles sur laquelle baser ce mécanisme, et ce n'est pas le plus simple qui a été retenu. Le bout de code ci dessus ne rend pas justice à la complexité du machin, qui a jusqu'à 9 niveaux d'indentation, des conditions dont les effets sont distribués entre les différents case et encore, certains bouts des traitements ont effectivement été déportés dans des fonctions.
[^] # Re: Les joies de la généralité
Posté par gaaaaaAab . En réponse au journal Gnome 3 est un échec total selon Torvalds. Évalué à 2.
anéfé.
là j'ai aussi du:
j'étais un peu optimise en fait, c'est étalé sur environ 3000 lignes de gloubi boulga :D
en réponse à delio :
oui, le problème ici c'est qu'il y avait plusieurs états possibles sur laquelle baser ce mécanisme, et ce n'est pas le plus simple qui a été retenu. Le bout de code ci dessus ne rend pas justice à la complexité du machin, qui a jusqu'à 9 niveaux d'indentation, des conditions dont les effets sont distribués entre les différents case et encore, certains bouts des traitements ont effectivement été déportés dans des fonctions.