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: philippe brochard
Subject: Re: [Maitretarot-devel-fr] test de libmaitretarot
Date: 13 May 2002 17:23:09 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Yves Mettier <address@hidden> writes:

> 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 ;-)
> 
l'enum permet juste de donner une sigification a l'int.
Mais c'est sur que la sigification de l'int peut aussi changer
avec la marée, donc c'est pas facile à maintenir, il vaut mieux
faire comme tu as fait.

> > > > > 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.
> 
oui, mais meme avec beaucoup de communication, si son code est pourri,
et bien il y aura un gars qui recodera ca plus proprement quand il en
aura vraiment marre d'utiliser un truc foireux.

> Bon, ce soir, j'aime te contredire, je sais pas pouquoi.
> 
pourquoi tant de haine ???

> > 
> > > 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!
> 
ouarf, moi j'en ai eu 2 dans xbindkeys, c'est les gars de Debian qui
veulent un warning a la place d'une erreur (dans ce cas, ca ne pose
pas de problemes) et un autre ou si la touche est inconnue alors
xbindkeys capture toutes les touches :)

=> ca y est c'est corrige.
Il sont bien pour le retour chez Debian, ils veulent de la qualite,
j'aime ca :)


Philippe

-- 
,-------------------.         ,---------------,----------------------.
| Philippe Brochard |   ...   | address@hidden | http://hocwp.free.fr |
`------------------(_  (. .)  `---------------'----------------------'
-------------------ooO--(_)--Ooo--------------------------------------



reply via email to

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