JeuWeb - Crée ton jeu par navigateur
[Coding style] nombre > 0 ou 0 < nombre ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Coding style] nombre > 0 ou 0 < nombre ? (/showthread.php?tid=2426)

Pages : 1 2 3 4 5


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Myrina - 20-09-2010

(20-09-2010, 10:26 AM)oxman a écrit : Et je n'ai jamais vu un programme opensource avec les variables à droite Smile
En JAVA, c'est une pratique courante et fortement recommandée pour éviter de levée une NullPointerException.

variable.operateur(constante) plantera si variable est nulle alors que

constante.operateur(variable) fonctionnera dans tous les cas et le résultat reçu dépendra de la manière dont la valeur nulle interprétée par le type de la constante.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Globe - 20-09-2010

Après personnellement la variable étant justement bah la variable de la condition je la met en première position mais c'est une habitude que j'ai probablement prise sur les sites ou j'ai appris.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - srm - 20-09-2010

Myrina recommandé ? Ah bon tu peux me citer un article ?
Car ça me semble une façon foireuse de s'assurer que tu as pas de valeur nulle alors que si tu as fait ton programme correctement tu n'as pas à le faire.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Plume - 20-09-2010

C'est finalement une variante de l'astuce en PHP lors de conditions du types :

Code PHP :
<?php 
if ($value = 0) {} # On obtient toujours 'true'
if (0 = $value) {} # On soulève une exception. Sauf que là, on note expressément sous cette forme pour être sûr de pas faire de la merde…

Mais là, les objectifs sont clairement de révéler les erreurs. J'avoue que d'adopter des habitudes de notations pour esquiver les erreurs, ça me parait malsain.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Myrina - 20-09-2010

Un outil utilisé en JAVA lors de revue de code est PMD ; voici la liste des règles qu'il vérifie (http://pmd.sourceforge.net/rules/index.html) dont:
-PositionLiteralsFirstInComparisons
-ConfusingTernary (peut être intéressant sur le topic en cours)


RE: [Coding style] nombre > 0 ou 0 < nombre ? - niahoo - 20-09-2010

ben _who en fait non ce n'est pas une variante, c'est exactement la même application du principe, c'est juste que tu appliques la règle à toutes les comparaisons du coup, pour garder un code cohérent.

notez que python interdit l'assignation dans une condition.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Plume - 20-09-2010

Non, niahoo, c'est la même convention mais pas la même application. En PHP, elle est appliquée par rigueur. En Java, selon Myrina, elle est appliquée pour éviter les exceptions.

Je ne trouve pas que ces deux applications soient identiques.

D'ailleurs, j'ai envie de dire que rien que par rigueur j'pourrai bien me mettre à toujours faire des comparaisons avec la variable à droite.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - niahoo - 20-09-2010

c'est l'application de la même convention, si tu cherches à jouer sur les mots :p


RE: [Coding style] nombre > 0 ou 0 < nombre ? - srm - 20-09-2010

Marrant Myrina car par exemple je ne suis pas d'accord avec ConfusingTernary, car moi je met en premier le test et la condition principale et le else pour les autres cas.

Je n'inverse pas le if else pour ne pas avoir à mettre != si la condition principale du test est != et non == pour moi.
Je suis donc la même logique que "a > 0" je met en premier ce qui est important.


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Ter Rowan - 20-09-2010

(20-09-2010, 01:27 PM)oxman a écrit : Marrant Myrina car par exemple je ne suis pas d'accord avec ConfusingTernary, car moi je met en premier le test et la condition principale et le else pour les autres cas.

Je n'inverse pas le if else pour ne pas avoir à mettre != si la condition principale du test est != et non == pour moi.
Je suis donc la même logique que "a > 0" je met en premier ce qui est important.

tout pareil, mon dieu que suis je enfin de devenir