23-12-2008, 09:45 PM
(Modification du message : 24-12-2008, 06:19 PM par Sephi-Chan.)
Je lance ce petit débat sur les comparaisons. Utilisez-vous les comparaisons larges (==) ou strictes (===) ? Pourquoi ce choix ?
Pour ma part, j'utilise (et conseille) de tester les retours explicitement.
De plus, je favorise l'égalité stricte (===) plutôt que l'égalité large (==).
Ce n'est pas nouveau : Explicit is better than implicit. Le code en ressort plus clair.
Voyez cet exemple de condition complexe qui serait bien moins lisibles avec des points d'exclamation.
Notez que les transtypages effectués ne sont là que parce je travaille ici avec des données issues d'une base de données (qui ne renvoie que des chaînes de caractères ou NULL).
Voilà, voilà pour ce rapide point sur les conditions.
Sephi-Chan
Edit Sephi-Chan : je scinde la discussion.
Pour ma part, j'utilise (et conseille) de tester les retours explicitement.
De plus, je favorise l'égalité stricte (===) plutôt que l'égalité large (==).
Ce n'est pas nouveau : Explicit is better than implicit. Le code en ressort plus clair.
Voyez cet exemple de condition complexe qui serait bien moins lisibles avec des points d'exclamation.
Notez que les transtypages effectués ne sont là que parce je travaille ici avec des données issues d'une base de données (qui ne renvoie que des chaînes de caractères ou NULL).
if(
(int) $discussion['hidden'] === 0
&& (int) $discussion['locked'] === 0
&& (int) $character['city_id'] === (int) $discussion['city_id']
&& (
(int) $discussion['private'] === 0
||
(int) $discussion['private'] === 1
&& in_array(
(int) $character['id'],
$discussion['participants']
) === true
)
){
return true;
}
Voilà, voilà pour ce rapide point sur les conditions.
Sephi-Chan
Edit Sephi-Chan : je scinde la discussion.