maitretarot-devel-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Maitretarot-devel-fr] test de libmaitretarot


From: Yves Mettier
Subject: Re: [Maitretarot-devel-fr] test de libmaitretarot
Date: Mon, 13 May 2002 00:41:18 +0200

On 12 May 2002 21:44:42 +0200
philippe brochard <address@hidden> wrote:

> Yves Mettier <address@hidden> writes:
> 
> > On 12 May 2002 20:32:31 +0200
> > philippe brochard <address@hidden> wrote:
> > 
> > > Yves Mettier <address@hidden> writes:
> > > 
> > > > Coucou!
> > > > 
> > > > Je mets libmaitretarot a jour.
> > > > Attention: j'ai change le protocole de la fonction. Je sens que
> > > > tu vas pas aimer!!!
> > > 
> > > pourquoi ??? si c'est justifié, que ça apporte des choses ou que
> > > ça les simplifie, pourquoi pas.
> > 
> > Ca apporte la gestion des erreurs via GError.
> > Bref, c'est une gestion d'erreurs standard, qu'on peut utiliser
> > partout. On peut aussi l'ignorer: suffit de mettre NULL au lieu de
> > &err (cf mon exemple). on peut encore utiliser a la fois le code
> > d'erreur, comme toi, et le texte de l'erreur, tres facilement.
> > 
> > > 
> > > > Mais ma modification ne te force pas a te mettre a jour: ta
> > > > fonction et la mienne portent un nom different, et les
> > > > constantes de l'enum portent aussi des noms differents. Donc
> > > > t'es pas oblige de mettre ca en priorite haute.
> > > > 
> > > > En attendant, voici mes modifs.
> > > > Le prototype:
> > > > 
> > > > gint libmt_connect_to_socket (gchar * ip, guint16 port, GError
> > > > ** error);
> > > > 
> > > ouarf, c'est plus compliqué :)
> > > 
> > > > Renvoie un entier positif ou nul comme avant si tout va bien.
> > > > Renvoie -1 sinon (et plus tes constantes. Niark)
> > > 
> > > qu'est ce qu'elles t'on fait mes constantes ?
> > 
> > Elles filent dans le GError!
> > Un numero de socket, c'est >=0, ou -1 en cas d'erreur ;-)
> > Apres, toi, tu nous avait fait un detournement de signification de
> > variable. T'as pas honte?
> > 
> ben non :) le code été assez simple :
>   si la connection est ok -> connect_to_socket renvoie 0
>   sinon elle renvoie un  code d'erreur qui correspond à ce qui
>         a posé probleme (voir enum)

Interdiction de renvoyer un int dans certains cas et un enum dans
d'autres cas, surtout que les cas, ca peut dependre de la force du vent!
M'enfin ;-)

> > > > Par contre, il y a un troisieme argument, GError **error, qui
> > > > sert a recuperer ton code d'erreur, et plus si affinites!
> > > 
> > > ok, tout rentre dans l'ordre, j'ai un retour de la fonction
> > > avec les != erreurs => parfait.
> > 
> > OK.
> > 
> > > 
> > > > Voici comment ca marche (inspire de la doc de glib):
> > > > 
> > > > GError *err = NULL;
> > > > 
> > > > sock = libmt_connect_to_socket ("127.0.0.1", 3551, &err);
> > > > g_assert ((sock == -1 && err != NULL) || (sock >= 0 && err ==
> > > > NULL)); if (err != NULL)
> > > >   {
> > > >     /* Report error to user, and free error */
> > > >     g_assert (sock == -1);
> > > >     fprintf (stderr, "Could not connect to server (%s)\n",
> > > > err->message);
> > > >     g_error_free (err);
> > > >   } 
> > > > else
> > > >   {
> > > >     /* Use file contents */
> > > >     g_assert (sock >= 0);
> > > >   }
> > > > 
> > > Ok
> > 
> > cool :-)
> > 
> > > 
> > > > 
> > > > 
> > > > Si ca c'est pas de la gestion d'erreur!!!
> > > > Et en plus, ca me semble simple. Vire tous les g_assert et les
> > > > commentaires: il ne reste plus que 5 lignes!
> > > > 
> > > ouais, c'est très bien, comme ça j'ai juste à gerer le retour de
> > > la fonction et les messages sont tout fait (err->message).
> > > 
> > > Ben, tu vois fallait pas stresser, ça me plait et c'est adopté :)
> > 
> > Coooooooooooooooooooooo :-)
> > Ooops, attention a l'extinction de voix, moi ;-)
> > 
>     I I
>    /---\  tient voila du siros pour ta voix :)
>    |   |
>    `---'

....ooooooOOOOOOOOOOL, ca va mieux!

> 
> > > 
> > > > 
> > > > 
> > > > Un dernier mot sur libmaitretarot:
> > > > On va la tester un moment pour savoir si c'est OK. Avant que ce
> > > > ne soit OK, on se met d'accord pour faire des modifs et on les
> > > > fait. Apres, quand c'est OK, il faudra vraiment se mettre
> > > > d'accord pour faire la moindre modification dans libmaitretarot.
> > > > Et quand c'est OK, je considere qu'on pourra aussi l'installer
> > > > dans /usr. C'est pour ca qu'il faudra pas faire ce qu'on veut
> > > > apres.
> > > > 
> > > 
> > > Oui, c'est une bonne evolution.
> > > Je commence à la tester tout de suite.
> > > 
> > > > En attendant, commentaires bienvenus ;-)
> > > > 
> > > 
> > > le retour arrive :)
> > 
> > Ahhhhhhhhhhhh..hhhhh.......hhhh
> > Pffff, j'arrete de simuler mon extinction de voix. Ca va devenir
> > lourd a force :)
> > 
> > > Sinon, tu as regarder la partie des encheres ? je n'arrive pas a
> > > voir se qui ne vas pas.
> > 
> > Cf l'autre courrier. J'ai fini de tout lire/repondre. Mais j'ai fait
> > ca non pas par ordre chronologique, mais du plus court/facile au
> > plus long/chiant/baleze. Sans oublier que j'avais aussi gtktalog a
> > faire. Maintenant, je peux m'attaquer aux gros gros trucs: la
> > nouvelle branche de maitretarot, une correction dans mon prochain
> > article lmag, et faire un test de gtktalog pour un gars qui croit
> > que c'est pas parce que gtktalog est libre qu'il peut avoir une
> > qualite moindre qu'un logiciel commercial, et qu'il croit aussi que
> > je suis responsable de son bug (il a pas lu l'en-tete des fichiers
> > sources ;-).
> > 
> En regle general, les logiciel libre sont de meilleur qualite que les
> logiciels propriétaires parce qu'on n'a pas de délais a respecter.

Et inversement, les logiciels, disons commerciaux, sont fait dans des
conditions ou les gens font ca 100% de leur temps de boulot (voire
plus), ce qui fait que le soft commercial peut en faire plus. Et le
nombre de fonctionnalites fait aussi partie de la qualite d'un produit.


> Enfin on est aussi libre de faire un boulot dégueulasse, mais dans ce
> cas c'est du darwinisme : le code le plus 'fort' reste, ce qui fait
> qu'a force les logiciels libres s'ammeliore (comme le bon vin :))

note que 'fort' ne signifie pas toujours meilleur. Il suffit qu'un gars
soit bon en communication ou ait ses entrees chez sourceforge, et hop,
son code est 'fort', et ca peut noyer un gars qui venait juste de
commencer un bon code.

Bon, ce soir, j'aime te contredire, je sais pas pouquoi.

> 
> > Bref, je suis pas encore couche, et il est que 21h!
> > 
> eh! eh! bon courage !
> 
> moi, j'ai un paquet de copie à corriger -> je my met :)

Hop, gtktalog: j'ai trouve un bug. C'est pas un bug de gtktalog, mais un
bug de gnome. Dingue ca!

Yves

-- 
- Homepage - http://ymettier.free.fr                   -
- GPG key  - http://ymettier.free.fr/gpg.txt           -
- MyAM     - http://www.freesoftware.fsf.org/myam      -
- GTKtalog - http://www.freesoftware.fsf.org/gtktalog  -




reply via email to

[Prev in Thread] Current Thread [Next in Thread]