• [^] # Re: Les joies de la généralité

    Posté par . En réponse au journal Gnome 3 est un échec total selon Torvalds. Évalué à 2.

    anéfé.

    là j'ai aussi du:

    flag = 0;
    while (condition1) {
     switch(state)
     case 1:
     si (condition2) {
     state = 3;
     flag = 1;
     continue;
     }
     break;
     case 2:
     case 3:
     si (flag != 0) {
     // des trucs
     }
     sinon {
     // d'autres trucs
     } 
     case 4:
     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.