IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Echelle de Goret


Sujet :

C

  1. #1
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut Echelle de Goret
    Demandons ici des explications sur l'echelle de gorettitude de Emdel.

    http://emmanuel-delahaye.developpez.com/goret.htm

    Force 8 "Plus d'un return par fonction"

    Mais pourquoi?

  2. #2
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Il faut plus d'un return par fonction ou il en faut un seul ?

  3. #3
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Il en faut qu'un

  4. #4
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Gruik
    Demandons ici des explications sur l'echelle de gorettitude de Emdel.

    http://emmanuel-delahaye.developpez.com/goret.htm

    Force 8 "Plus d'un return par fonction"

    Mais pourquoi?
    c'est vrai ca...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  5. #5
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    ben je vois la philosophie du truc si t'arrete pas de sortir de ta fonction avec des returns c'est pas "naturelle" comme déroulement. Enfin c'est ce que je pense !!

    On ma toujours dis que l'utilisation des fonctions goto-like c'est pas le top

  6. #6
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par gnto
    ben je vois la philosophie du truc si t'arrete pas de sortir de ta fonction avec des returns c'est pas "naturelle" comme déroulement. Enfin c'est ce que je pense !!

    On ma toujours dis que l'utilisation des fonctions goto-like c'est pas le top
    ???
    Donne un exemple...
    Parceque si c'est une fonction de test...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  7. #7
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Oui mais pour une fonction de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    int fonction(void)
    {
        char *buffer = NULL;
        buffer = malloc(50);
        if(buffer == NULL) {
            printf("Erreur allocation !\n");
            return -1;
        }
        [...];
        return 0;
    }
    Je ne vois pas en quoi ca fait goret (surtout Force 8).

    Il est vrai que l'on peux faire comme ca.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    int fonction(void)
    {
        char *buffer = NULL;
        int ret = 0;
        buffer = malloc(50);
        if(buffer != NULL) {
            [...]
        }
        else {
            printf("Erreur allocation !\n");
            ret = -1;
        }
        return ret;
    }
    Mais ca implique de mettre tout le code de la fonction dans le if.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  8. #8
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Aprés cette echelle de goret est relative. Moi personnellement je prefere la 2eme fonctions de skyrunner.

  9. #9
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par gnto
    Aprés cette echelle de goret est relative. Moi personnellement je prefere la 2eme fonctions de skyrunner.
    Si la difference est significative, c'est que les ... contiennent trop de choses.

    (Note, dans la liste d'Emmanuel, je n'arrive pas a savoir si force 10 est mieux ou pire que force 1).

    A+

    --
    Jean-Marc
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  10. #10
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    10 c'est le pire

  11. #11
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Jveux dire, dans ce cas par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int func (const char * search) {
      int k;
      for (k = 0; k < TAB_NB_ELT; k++)
         if (!strcmp(search, my_tab[k].str))
           return k;
      return -1;
    }
    est-ce si grave?

  12. #12
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Au fait, je pensais faire un gros topic sur ce forum sur "comment bien programmer en C" où tout le monde pourrait participer et on discuterait pour se mettre d'accord sur certains points.
    Ca periphraserait un peu l'echelle de goret mais ça detaillerait le pourquoi du comment, le tout bien présenté avec des couleurs et des sections.
    Bien ou pas bien?

  13. #13
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Gruik
    Jveux dire, dans ce cas par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int func (const char * search) {
      int k;
      for (k = 0; k < TAB_NB_ELT; k++)
         if (!strcmp(search, my_tab[k].str))
           return k;
      return -1;
    }
    est-ce si grave?
    Yeah en plus la tu as couplé avec une variable globale

    Je ne trouve pas ca grave, mais c'est vrai que l'on peux toujours s'en sortir autrement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    int func (const char * search, const struct mystruct *my_tab) {
      int k;
      int ret = -1;
      for (k = 0; k < TAB_NB_ELT; k++)
         if (!strcmp(search, my_tab[k].str)) {
           ret = k;
           break;
         }
      return ret;
    }
    Hum je sens que cette discussion a un bel avenir devant elle.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  14. #14
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Gruik
    Au fait, je pensais faire un gros topic sur ce forum sur "comment bien programmer en C" où tout le monde pourrait participer et on discuterait pour se mettre d'accord sur certains points.
    Ca periphraserait un peu l'echelle de goret mais ça detaillerait le pourquoi du comment, le tout bien présenté avec des couleurs et des sections.
    Bien ou pas bien?
    Je suis pour, on pourrait deja reprendre des bouts du topic sur le Caymal.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  15. #15
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Gruik
    10 c'est le pire

    Ah, ne pas indenter -- perso, a ce niveau de non respect des lecteurs je ne prends generalement meme pas la peine de repondre sur Internet, et je n'ai jamais vu dans ma vie professionnelle ou j'ai pourtant vu bien des choses, mais au niveau indentation, le pire que j'ai vu c'est l'utilisation d'un melange de tabulation et d'espaces ne fonctionnant correctement qu'avec une tabulation mise a 5 caracteres pour une partie du code et a 8 caracteres pour une autre dans un fichier qu'on aurait mieux fait de scinder avant que je ne le fasse -- c'est mieux que de tout mettre dans le main(), ce qui m'est deja arrive pour des petits programmes oneshot, et qui arrive sans probleme dans des exercices ou dans du code reduit pour mettre en evidence un probleme. En fait, je ne vois pas de necessite de faire une difference entre main et les autres fonctions, pour lesquelles on a "Fonction de plus d'une page visible" qui est du force 5 d'apres Emmanuel...
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  16. #16
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Gruik
    Jveux dire, dans ce cas par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int func (const char * search) {
      int k;
      for (k = 0; k < TAB_NB_ELT; k++)
         if (!strcmp(search, my_tab[k].str))
           return k;
      return -1;
    }
    est-ce si grave?
    Restons sur le probleme du SESE (Single Entry Single Exit) et passons sur la variable globale et le fait que le tableau devrait peut-etre etre trie ou remplace par une table de hachage.

    Je ne suis pas un fanatique du SESE meme si j'ai tendance a ecrire du code qui respecte cette contrainte, mais pas au pris d'introduction d'une variable ou de complication d'expression de conditions comme ce le serait ici s'il n'y avait l'alternative subtilement differente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int func(char const* niddle) {
       int k = TAB_NB_ELT - 1;
       while (k >= 0 
              && strcmp(niddle, my_tab[k].str) != 0)
       {
          --k;
       }
       return k;
    }
    Dans du code qui n'est pas SESE, j'aime bien que le code respecte la symetrie et donc qu'il y ait un return soit dans chaque branche du if ou du switch, soit dans aucune.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  17. #17
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Ah, ne pas indenter -- perso, a ce niveau de non respect des lecteurs je ne prends generalement meme pas la peine de repondre sur Internet, et je n'ai jamais vu dans ma vie professionnelle ou j'ai pourtant vu bien des choses, mais au niveau indentation, le pire que j'ai vu c'est l'utilisation d'un melange de tabulation et d'espaces ne fonctionnant correctement qu'avec une tabulation mise a 5 caracteres pour une partie du code et a 8 caracteres pour une autre dans un fichier qu'on aurait mieux fait de scinder avant que je ne le fasse -- c'est mieux que de tout mettre dans le main(), ce qui m'est deja arrive pour des petits programmes oneshot, et qui arrive sans probleme dans des exercices ou dans du code reduit pour mettre en evidence un probleme. En fait, je ne vois pas de necessite de faire une difference entre main et les autres fonctions, pour lesquelles on a "Fonction de plus d'une page visible" qui est du force 5 d'apres Emmanuel...
    Ouais, ya des trucs en force élevée que je considère comme pas si dramatique

  18. #18
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Citation Envoyé par Skyrunner
    Je suis pour, on pourrait deja reprendre des bouts du topic sur le Caymal.
    Okay, je m'y attele ce soir

  19. #19
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 727
    Points
    1 727
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet
    Restons sur le probleme du SESE (Single Entry Single Exit) et passons sur la variable globale et le fait que le tableau devrait peut-etre etre trie ou remplace par une table de hachage.

    Je ne suis pas un fanatique du SESE meme si j'ai tendance a ecrire du code qui respecte cette contrainte, mais pas au pris d'introduction d'une variable ou de complication d'expression de conditions comme ce le serait ici s'il n'y avait l'alternative subtilement differente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    int func(char const* niddle) {
       int k = TAB_NB_ELT - 1;
       while (k >= 0 
              && strcmp(niddle, my_tab[k].str) != 0)
       {
          --k;
       }
       return k;
    }
    Dans du code qui n'est pas SESE, j'aime bien que le code respecte la symetrie et donc qu'il y ait un return soit dans chaque branche du if ou du switch, soit dans aucune.
    Donc, si ya pas de rajout de variable et si ça complexifie pas trop, on se doit d'avoir qu'un seul return?

  20. #20
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Force 8 : Passage d'une structure en paramètre...

    Non pas que je l'ai deja fait (quoique...), il est vrai qu'il est preferable de passer un pointeur sur la structure. Mais Force 8, ouah...
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

Discussions similaires

  1. [PHP 5.4] conception squelette objet : quelle note sur l'echelle du goret?
    Par balja dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2013, 13h21
  2. [excel] echelle dynamique dans un graph
    Par shirya dans le forum Excel
    Réponses: 1
    Dernier message: 17/10/2005, 17h49
  3. [JTree] Echelle
    Par Micky1407 dans le forum Composants
    Réponses: 1
    Dernier message: 18/07/2005, 13h11
  4. echelle et openGl
    Par pfourtz dans le forum OpenGL
    Réponses: 13
    Dernier message: 03/05/2005, 23h00
  5. Réponses: 2
    Dernier message: 17/05/2002, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo