Article View: fr.comp.lang.c
Article #15379Re: memcpy et char
From: Harpo
Date: Sat, 24 Sep 2005 20:30
Date: Sat, 24 Sep 2005 20:30
39 lines
2953 bytes
2953 bytes
Alain CROS wrote: > int convstrnum(int taille, char *c) > /* Remplace, dans une chaine de caract�res repr�sentant un chiffre, > la virgule par un point. > Retourne : > la position de ce point dans la chaine (base 1). > 0 si pas de point. > -1 si pas un chiffre (la chaine reste inchang�e). > */ Il y a plusieurs choses de bonnes dans cette fonction : 1 ) Tu as explicit� son interface en commentaire. 2 ) Cet interface tient la route, retourner le num�ro d'un caract�re plut�t que son d�placement est un peu choquant (base 1 vs 0), mais c'est compr�hensible dans ce contexte. 3 ) Contrairement � ce que certains semblent vouloir dire, c'est tr�s bien d'avoir pass� l'adresse de la cha�ne et sa longueur, pour cette petite fonction cela n'a pas une grande importance mais c'est g�n�ralement tr�s bien de passer la longueur quand on la conna�t. Reste le code, ce n'est pas secondaire. Il est un peu maladroit. 1 ) tes i, j et k. bon, si tu emploies i j et k dans 3 boucles imbriqu�es, tout le monde comprend mais si tu les additionne et les triture, �a devient difficile � suivre. A chaque variable est attach�e une certaine s�mantique, il est bon que son nom la refl�te, il est �galement bon que les op�rations qui les impliquent la fassent appara�tre et que tout le monde (y compris toi dans un an) comprenne ce que ces op�rations veulent dire. 2 ) Tu fais 2 memcpy inutiles (1 seul en cas d'erreur), �a co�te tr�s tr�s cher ! 1 axe d'approche est la mani�re de faire au mieux les choses en �tant le plus �conome possible. C'est en s'attachant � cela que l'on peut faire de bon programmes. Le plus important est le bon algorithme, mais dans ce cas il se r�duit � une boucle de toute mani�re, donc ce sont les ressources que l'on emploie et non l'algorithme choisi qui est important. Amha, quand tu aura optimis� cette petite fonction, t'aura compris pas mal de choses au C.
Technical Details
Message-ID:
<4335b780$0$5400$8fcfb975@news.wanadoo.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newspeer1.nwr.nac.net!colt.net!fr.colt.net!teaser.fr!news.wanadoo.fr!news.wanadoo.fr!not-for-mailReferences:
<4333e995$0$17469$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,366ad66ae342f8da X-Google-Attributes: gidf9822,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newspeer1.nwr.nac.net!colt.net!fr.colt.net!teaser.fr!news.wanadoo.fr!news.wanadoo.fr!not-for-mail Message-ID: <4335b780$0$5400$8fcfb975@news.wanadoo.fr> From: Harpo <trashcan@hotmail.com> Subject: Re: memcpy et char Newsgroups: fr.comp.lang.c Date: Sat, 24 Sep 2005 22:30:22 +0200 References: <4333e995$0$17469$626a14ce@news.free.fr> Organization: ARG ; Association pour la Rehabilitation du Goto User-Agent: KNode/0.8.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8Bit Lines: 43 NNTP-Posting-Date: 24 Sep 2005 22:30:56 CEST NNTP-Posting-Host: 83.195.254.233 X-Trace: 1127593856 news.wanadoo.fr 5400 83.195.254.233:46912 X-Complaints-To: abuse@wanadoo.fr