IPB

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> else if me pose un problème., Mais ou ?
Options
PapouMAC
posté 1 Dec 2014, 18:09
Message #1


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Bonjour

Voilà le programme que j'ai recopié tel quel d'un livre sur le C.

Code
                         //
                         //  main.m
                         //  Nbr_Mystere
                         //
                        
                         #include <stdio.h>
                         #include <stdlib.h>
                         #include <time.h>
                        
                        
                         int main( int argc, char** argv)
                        
                         {
                             int nbrMystere = 0, votreNbr = 0, compteur = 0;
                             const int MAX = 100, MIN = 1;
                            
                             //Génération du nombre aléatoire
                            
                             srand(time(NULL));  // 1er message : Implicit conversion loses integer precision : 'time (t'(aka 'long') to 'unsigned int'
                            
                             nbrMystere = (rand() % (MAX - MIN+1)) + MIN;
                            
                             // Entrer un nombre
                            
                             do
                             {
                                 printf("Entrer un nombre entre 1 et 100 :");
                                 scanf("%d", &votreNbr);
                                
                                 if (nbrMystere > votreNbr)
                                     printf("Non, c'est trop petit\n\n");
                                     compteur++;
                                  else if (nbrMystere < votreNbr)      //  2e message : Expected expression
                                     printf("Non, c'est trop grand\n\n");
                                     compteur++;
                                 else                                 // Le même que le 2e : Expected precision
                                     printf("Bravo, vous avez trouvé en %d coups\n ", compteur);
                                
                             }
                             while (votreNbr != nbrMystere);
                            
                         }


1er message à la ligne srand(time(NULL));
2e message au niveau de else if et ensuite au niveau du dernier else.
Alors d'où viennent ces erreurs. Là je ne comprends pas, normalement tout devrait être correct ? Merci.


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 1 Dec 2014, 18:16
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Il manque les accolades autour des instructions


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 1 Dec 2014, 18:23
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Rebonjour,

je viens de modifier ce programme comme suit :

Code

        //
        //  main.m
        //  Nbr_Mystere
        //
        //  Created by André Maleyran on 01/12/2014.
        //  Copyright (c) 2014 André Maleyran. All rights reserved.
        //
        
        #include <stdio.h>
        #include <stdlib.h>
        #include <time.h>
        
        
        int main( int argc, char** argv)
        
        {
            int nbrMystere = 0, votreNbr = 0, compteur = 0;
            const int MAX = 100, MIN = 1;
            
            /* Génération du nombre aléatoire */
            
            srand(time(NULL));
            
            nbrMystere = (rand() % (MAX - MIN+1)) + MIN;
            
            // Entrer un nombre
            
            do
            {
                printf("Entrer un nombre entre 1 et 100 :");
                scanf("%d", &votreNbr);
                
                if (nbrMystere > votreNbr)
                {
                    printf("Non, c'est trop petit\n\n");
                    compteur++;
                }
                 else if (nbrMystere < votreNbr)
                 {
                    printf("Non, c'est trop grand\n\n");
                    compteur++;
                 }
                else
                    printf("Bravo, vous avez trouvé en %d\n ", compteur);
                
            } while (votreNbr != nbrMystere);
            
        }


Et là plus d'insultes au niveau des else if. Il m'a suffit de rajouter des accolades.
Mais toujours un message au niveau de srand(....


schulm
tu as été plus rapide que moi dans pour la réponse. Mais merci.


Ce message a été modifié par PapouMAC - 1 Dec 2014, 18:27.


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 1 Dec 2014, 18:45
Message #4


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



srand() demande un argument de type unsigned

Code
void
     srand(unsigned seed);


time() renvoie un argument de type time_t

Code
     time_t
     time(time_t *tloc);


Le compilateur signale que sur l’architecture utilisée, time_t est un type plus grand que unsigned (long), et que la transformation de l’un en l’autre risque d’aboutir à quelque chose de faux.

Normalement, ce genre de message n’est pas une erreur, mais un warning ; cependant, c’est un message à prendre au sérieux en général.

Bref, de toute manière, srand et rand sont des fonctions déconseillées (obsolètes) maintenant ; il est préférable de récupérer ses variables aléatoires en lisant le fichier spécial "/dev/urandom"


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 1 Dec 2014, 19:09
Message #5


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Merci pour ces précisions. Mais il est ou le fichier /dev/urandom ?


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 1 Dec 2014, 20:22
Message #6


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Ben, dans "/dev" laugh.gif

c’est son chemin complet, "/dev/urandom", c’est un fichier spécial sur lequel tout ce qu’on lit a un contenu aléatoire, faire des fscanf dessus par exemple remplit les variables lues de manière aléatoire.


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 1 Dec 2014, 20:55
Message #7


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Citation (schlum @ 1 Dec 2014, 20:22) *
Ben, dans "/dev" laugh.gif

c’est son chemin complet, "/dev/urandom", c’est un fichier spécial sur lequel tout ce qu’on lit a un contenu aléatoire, faire des fscanf dessus par exemple remplit les variables lues de manière aléatoire.


Merci. Bon sens, mais c'est bien sûr ! Mais quand on début dans la programmation en C (c'est-à-dire environ 1 mois) ce n'est évident. sad.gif


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 1 Dec 2014, 23:20
Message #8


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



À vrai dire, ce n’est plus vraiment du C là, les tailles de différents types, ou les différentes manières d’obtenir un nombre aléatoire en fonction d’un OS particulier, l’utilisation de bibliothèques, etc. c’est très périphérique.


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 1 Dec 2014, 23:46
Message #9


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Citation (schlum @ 1 Dec 2014, 23:20) *
À vrai dire, ce n’est plus vraiment du C là, les tailles de différents types, ou les différentes manières d’obtenir un nombre aléatoire en fonction d’un OS particulier, l’utilisation de bibliothèques, etc. c’est très périphérique.


blink.gif


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
Jaypee
posté 2 Dec 2014, 10:24
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



A propos du nombre mystère, ce serait plus intéressant que le programme lui-même devine le nombre.

Donc les seules entrées devraient être "Trop grand !", "Trop petit !" ou "Bingo !"

J-P
Go to the top of the page
 
+Quote Post
yponomeute
posté 2 Dec 2014, 10:42
Message #11


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Citation (PapouMAC @ 1 Dec 2014, 18:23) *
Et là plus d'insultes au niveau des else if. Il m'a suffit de rajouter des accolades.[b]

Tu n'as pas mis d'accolades pour encadrer ton dernier bloc else, ce n'est pas obligatoire vu qu'il n'y a qu'une instruction, mais il faut prendre l'habitude de systématiquement délimiter tes blocs avec des accolades. Ça falicite la lecture du code, et ça t'évitera le bug classique de l'instruction qu'on rajoute au dernier bloc et qui est executée systématiquement parce que le bloc n'a pas été délimité.
La programmation c'est avant tout de la rigueur dans l'écriture du code.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
PapouMAC
posté 2 Dec 2014, 11:43
Message #12


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Citation (yponomeute @ 2 Dec 2014, 10:42) *
Citation (PapouMAC @ 1 Dec 2014, 18:23) *
Et là plus d'insultes au niveau des else if. Il m'a suffit de rajouter des accolades.[b]

Tu n'as pas mis d'accolades pour encadrer ton dernier bloc else, ce n'est pas obligatoire vu qu'il n'y a qu'une instruction, mais il faut prendre l'habitude de systématiquement délimiter tes blocs avec des accolades. Ça falicite la lecture du code, et ça t'évitera le bug classique de l'instruction qu'on rajoute au dernier bloc et qui est executée systématiquement parce que le bloc n'a pas été délimité.
La programmation c'est avant tout de la rigueur dans l'écriture du code.


Bonjour

Et merci, pour ces conseils. Rigueur, rigueur, ça je sais que c'est le maître mot en programmation (j'avais déjà développé en Basic, mais c'était il y a bien longtemps). Le C est vraiment une autre approche de la programmation. Donc j'apprends en faisant des erreurs certes, mais c'est celles-ci qui permettent d'acquérir de l'expérience. wink.gif


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 2 Dec 2014, 11:55
Message #13


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Citation (yponomeute @ 2 Dec 2014, 10:42) *
Citation (PapouMAC @ 1 Dec 2014, 18:23) *
Et là plus d'insultes au niveau des else if. Il m'a suffit de rajouter des accolades.[b]

Tu n'as pas mis d'accolades pour encadrer ton dernier bloc else, ce n'est pas obligatoire vu qu'il n'y a qu'une instruction, mais il faut prendre l'habitude de systématiquement délimiter tes blocs avec des accolades. Ça falicite la lecture du code, et ça t'évitera le bug classique de l'instruction qu'on rajoute au dernier bloc et qui est executée systématiquement parce que le bloc n'a pas été délimité.
La programmation c'est avant tout de la rigueur dans l'écriture du code.


C’est une certaine école ; personnellement, je n’en suis pas (je trouve au contraire que ça pollue le code plus qu’autre chose d’abuser des accolades qui sont à la base une indication de « bloc ») ; les environnements de développement modernes sont suffisamment efficaces sur l’indentation automatique pour éviter le problème dont tu parles.


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
yponomeute
posté 2 Dec 2014, 12:34
Message #14


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Je code principalement en style K&R je trouve ça plus logique d'avoir toujours des accolades. Mais je comprends ton point de vue sur l'indication de bloc pour les accolades.
Il m'arrive de coder sans accolades si j'iinterviens sur du code qui adopte cette syntaxe. Le principal étant de rester cohérent sur l'ensemble d'un projet.


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
No6
posté 2 Dec 2014, 15:46
Message #15


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



Je sens que je vais vous faire hurler, mais bon, dans mon cas et pour moi personnellement :

quand je n'ai qu'une seule instruction à la suite d'un if / else if / else => je la met sur la même ligne.

C'est pas forcément esthétique, mais au moins ça m'évite de me planter si je dois ajouter une autre instruction, je me rends compte immédiatement (car c'est programmé ainsi depuis des années dans mon inconscient) que je dois rajouter un bloc d'accolades...


Sinon, pour la petite histoire, ça m'a pris au moins 6 ans pour coder proprement en C.

Je sais pas si je suis plus lent que d'autres - surtout quand je vois le niveau de schlum -
mais maintenant je fais surtout du javascript qui a une syntaxe proche du C, mais en moins bien, car tout y est en objets "dissimulés" et que ce langage continue d'évoluer ;(
les pointeurs du c me manquent.. au moins je savais un peu plus ou étaient mes variables...

Tiens, je viens de voir que j’étais dans la « variant : Stroustrup » wink.gif


Mais sinon maintenant c’est fichu, vu que je compte migrer vers CoofeeScript (fini les acolades !)



Ce message a été modifié par No6 - 2 Dec 2014, 15:55.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
mpergand
posté 2 Dec 2014, 19:21
Message #16


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



Merci No6 pour le lien sur les indent styles, je viens de réaliser que cela plusieurs dizaines d'années que j'utilisais sans le savoir, le "Whitesmiths style" !
Car je ne trouve aucune raison logique à ce que les accolades ne soient pas au même niveau que le bloc d'instructions qu'elles délimitent ...

Code
  while ( (entry = readdir(directory)) != NULL)    
    {
    index++;
    char* name=entry->d_name;
    unsigned int type=entry->d_type;
        
    if(index<startIndex) continue;
    if(type!=DT_REG) continue;
    if(name[0]=='.') continue;
        
    if(deleteNum>0)
        {
        strcpy(deleteFilename,path);
        strcat(deleteFilename,"/");
        strcat(deleteFilename,name);
//        printf("delete %s type %x\n",deleteFilename,type);
        unlink(deleteFilename);
        deleteNum--;
        }
    else
        break;
    }


Ce message a été modifié par mpergand - 2 Dec 2014, 19:30.
Go to the top of the page
 
+Quote Post
No6
posté 2 Dec 2014, 19:51
Message #17


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



J'ignorais jusqu'à aujourd'hui qu'il eu existé un tel débat pour styler les accolades.
J'en suis tout à la fois fort mari, et bienheureux d'y découvrir aussi tardivement un tel chamaillement, car si j'avais su, à tout prendre, j'eus moi aussi choisi le "Whitesmiths style" !

qu'on se le dise !
biggrin.gif

Ce message a été modifié par No6 - 2 Dec 2014, 19:51.


--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
schlum
posté 2 Dec 2014, 19:54
Message #18


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Citation (yponomeute @ 2 Dec 2014, 12:34) *
Je code principalement en style K&R je trouve ça plus logique d'avoir toujours des accolades. Mais je comprends ton point de vue sur l'indication de bloc pour les accolades.
Il m'arrive de coder sans accolades si j'iinterviens sur du code qui adopte cette syntaxe. Le principal étant de rester cohérent sur l'ensemble d'un projet.


J’utilise également K&R comme style d’indentation, puisque j’ai appris à partir du livre Le Langage C de K&R wink.gif

Par contre, K&R ne mettent pas d’accolades quand il n’y a qu’une instruction ; par exemple, p. 19, exemple de comptage de lignes :

Code
#include <stdio.h>

/* compte les lignes en entrée */
main()
{
    int c, nl;
    
    nl = 0;
    while ((c = getchar()) != EOF)
        if (c == '\n')
            ++nl;
    printf("%d\n", nl);
}


À moins que ça ne soit le traducteur de la version francophone qui se soit amusé à les enlever, mais ça m’étonnerait quand même tongue.gif

[Edit] Non, c’est pareil dans la VO : http://books.google.fr/books?id=Yi5FI5QcdmYC&q=getchar


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
chombier
posté 2 Dec 2014, 19:59
Message #19


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Y'a qu'à coder en Python, et cette question ne se pose plus. biggrin.gif

Sinon je mets des accolades partout aussi. Ça évite des surprises avec des macros qui sont parfois vides.


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
schlum
posté 2 Dec 2014, 20:08
Message #20


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Citation (chombier @ 2 Dec 2014, 19:59) *
Y'a qu'à coder en Python, et cette question ne se pose plus. biggrin.gif

Sinon je mets des accolades partout aussi. Ça évite des surprises avec des macros qui sont parfois vides.


Là pour le coup, ça pète à la compilation, pas dramatique laugh.gif (le plus dangereux ce sont les macros multi-lignes, que j’enrobe du coup toujours avec un 'do { } while(0)')


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
yponomeute
posté 2 Dec 2014, 20:56
Message #21


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 969
Inscrit : 26 Jan 2011
Lieu : Pollachius virens
Membre no 164 083



Je viens d'apprendre que ma variante du style K&R s'appelait "1TBS". Elle est citée sur la version anglaise de la page wikipédia : http://en.wikipedia.org/wiki/Indent_style#Variant:_1TBS

Il est par ailleurs reconnu que chaque développeur utlise le meilleur éditeur de texte et le meilleur style de codage biggrin.gif


--------------------
MBP 2017 15" avec clavier pourri et touchbar inutile
Go to the top of the page
 
+Quote Post
mpergand
posté 2 Dec 2014, 21:46
Message #22


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



Citation (chombier @ 2 Dec 2014, 20:59) *
Y'a qu'à coder en Python, et cette question ne se pose plus. biggrin.gif


En Basic aussi biggrin.gif

Pour en revenir au départ du sujet, un exemple d'un mini langage que j'ai fait pour une calculatrice prgrammable.
Ca ressemble à du basic, mais aussi à du C, du python et peut-être d'autres choses biggrin.gif


Fichier(s) joint(s)
Fichier joint  Capture_d___e__cran_BasicCalc.png ( 168.42 Ko ) Nombre de téléchargements : 11
 
Go to the top of the page
 
+Quote Post
PapouMAC
posté 2 Dec 2014, 23:57
Message #23


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Citation (schlum @ 2 Dec 2014, 19:54) *
J’utilise également K&R comme style d’indentation, puisque j’ai appris à partir du livre Le Langage C de K&R wink.gif

Par contre, K&R ne mettent pas d’accolades quand il n’y a qu’une instruction ; par exemple, p. 19, exemple de comptage de lignes :


Tiens, j'ai ce même livre mais la 2e édition (1990). Et je confirme l'exemple de la page 19. Donc apparemment ce doit être un bon livre.
j'ai trouvé un autre livre "Initiation au Langage C" par Alexandre Meslé. Que vaut-il ? Merci.

Ce message a été modifié par PapouMAC - 3 Dec 2014, 00:01.


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
mpergand
posté 3 Dec 2014, 00:48
Message #24


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



Tu as aussi le site developpez.com
Bien débuter en Langage C

Un des livres les plus souvent conseillés pour les débutants est Programmer en langage C de Claude Delannoy

Ce message a été modifié par mpergand - 3 Dec 2014, 01:03.
Go to the top of the page
 
+Quote Post
schlum
posté 3 Dec 2014, 01:08
Message #25


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



Citation (PapouMAC @ 2 Dec 2014, 23:57) *
Tiens, j'ai ce même livre mais la 2e édition (1990). Et je confirme l'exemple de la page 19. Donc apparemment ce doit être un bon livre.


C’est le livre écrit par les créateurs du langage, une référence ; mais pas forcément le plus didactique.


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 3 Dec 2014, 01:23
Message #26


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Merci à vous deux. J'ai ces deux livres. smile.gif


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
Jaypee
posté 3 Dec 2014, 07:11
Message #27


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Les questions de style de présentation peuvent paraître futiles, mais lorsqu'on travaille en équipe, et que l'on pratique des revues de code, l'outil de revue fait un "diff" automatique entre la nouvelle version et celle du système de versions.

Et les différences de présentations ne sont pas significatives. D'où l'intérêt de choisir et d'adopter un style commun.
Généralement, un bon environnement de développement a une commande pour reformatter et pour définir les règles de présentation, dans ce but d'uniformisation.

Curieusement Xcode n'a pas ce genre de commande.

(je viens de découvrir que dans Vi gg=G le fait smile.gif )

J-P

Ce message a été modifié par Jaypee - 3 Dec 2014, 08:52.
Go to the top of the page
 
+Quote Post
No6
posté 3 Dec 2014, 13:34
Message #28


Oui ?
*****

Groupe : Membres
Messages : 3 889
Inscrit : 24 Jun 2003
Lieu : BZH
Membre no 8 224



Comme l’écrit Jaypee, la question du style est fondamentale.

Ce n’est pas tant une question esthétique, mais une question d’inconscient.

Cette partie de notre cerveau est « programmable ».
Par exemple, l’apprentissage de la marche, de la parole, etc,
De tout cela nous en avons fait un apprentissage dans la petite enfance, et reste en nous, dans notre inconscient ; puis ensuite ce même inconscient fait tout le boulot, pour garder l’équilibre, lorsque nous marchons, courrons…

La programmation, c’est la même chose, on apprend un langage, et notre inconscient finit par en absorber les paradigmes, et nous libère l’esprit pour mieux nous concentrer sur les algorithmes à produire.
Les algorithmes eux-mêmes peuvent entrer dans notre inconscient, car il y a des formes récurrentes ;… à la longue certains peuvent arriver à « penser directement » en design pattern !?

D’où l’importance d’avoir un style, et de s’y tenir.
Si tu n’a pas de constance dans un style d’écriture, ton cerveau ne pourra rien mémoriser, (la visualisation favorise ce processus) et la programmation de ton inconscient ne marchera pas (et par exemple tu vas oublier une accolade).

Une fois que ton inconscient aura intégré la notion de style dans ton cerveau, tu pourras travailler en équipe avec l’utilisation d’un style commun, ce sera comme apprendre une façon différente de prononcer la même langue, et le passage d’un style à l’autre se fera sans effort.

C’est pour cela que je trouve le "Whitesmiths style" meilleur, il à une forte identité visuelle, ce qui en simplifiera d’autant le chemin vers l’inconscient.



--------------------
"Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan)
Go to the top of the page
 
+Quote Post
PapouMAC
posté 3 Dec 2014, 18:33
Message #29


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 336
Inscrit : 25 Sep 2004
Lieu : Occitanie
Membre no 24 178



Citation (No6 @ 3 Dec 2014, 13:34) *
Comme l’écrit Jaypee, la question du style est fondamentale

C’est pour cela que je trouve le "Whitesmiths style" meilleur, il à une forte identité visuelle, ce qui en simplifiera d’autant le chemin vers l’inconscient.


"Whitesmiths style" ? Ah! compris vive Google. Effectivement c'est beaucoup plus élégant.


--------------------
MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.

Mac Studio M2 Max, 32Go, 1To
Go to the top of the page
 
+Quote Post
schlum
posté 4 Dec 2014, 10:29
Message #30


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



J’aime pas le Whitesmiths laugh.gif Ça sent le truc dérivé du Pascal et je le trouve relativement illisible tongue.gif

Après examen approfondi de https://en.wikipedia.org/wiki/Indent_style#Styles c’est en fait plus le Kernel style que j’utilise que le K&R (sauf que je règle mes tabs à 4 caractères au lieu de 8 qui me semble un peu too much) ^^


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 29th March 2024 - 14:32