🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15379

Re: memcpy et char

#15379
From: Harpo
Date: Sat, 24 Sep 2005 20:30
39 lines
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-mail
References: <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