[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Dolibarr-dev] Problème sur la fonction update de societe.class.php
From: |
Gael Canal |
Subject: |
Re: [Dolibarr-dev] Problème sur la fonction update de societe.class.php |
Date: |
Thu, 08 Dec 2005 00:59:05 +0100 |
Le jeudi 08 décembre 2005 à 00:33 +0100, Laurent Destailleur (Eldy) a
écrit :
> Euh je crois que c'est plutot l'inverse. La plupart des fonctions
> renvoient négatif en cas d'erreur et positif en cas de succès (plus de
> 325, sans compter celle qui retourne un autre positif comme le résultat
> d'un comptage ou qui retourne l'id d'un objet crée).
> Il y a encore beaucoup de fonctions qui font return 0 (316) mais presque
> toute font return 0 pour signaler une erreur et return 1 en cas de
> succès. Il est donc plus simple de modifier celles la pour modifier le 0
> (qui pour elles veut dire erreur) en négatif (-1, -2 selon erreur) où la
> y a plus d'ambiguité car cela ne change pas le cas succès pour elle.
> A mon avis il faut mieux instaurer que succès c'est >= 0 (plutot que = 0
> seul) et que erreur c'est < 0. Cela permet d'etre proche plus proche du
> but (à moindre risque)...
>
Je met mon petit grain de sel dans la discussion :
sous unix, l'execution correcte d'un programme retourne 0, >0 en cas
d'erreur. idem sous dos/win (errorlevel).
la construction
if (!$erreur=ma_fonction()) {
...
}
me semble très intuitive et implique erreur=0 en cas de succès (remarque
pour laurent : pourquoi avoir plusieurs codes de succès ?)
en revanche, pour des constructeurs ou des fonctions renvoyant un objet,
le mécanisme est souvent inversé : null en cas d'erreur / objet en cas
de réussite...
Dans PEAR, cette question est résolue par le déclenchement d'une
exception et le renvoi d'un objet PEAR::Error (je suppose) testé par
PEAR:isError($result).
Cela alourdit le code, mais c'est une solution.
Voila, my two cents...
++
Gael