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 ? - Ter Rowan - 19-09-2010

(19-09-2010, 06:37 PM)gameprog2 a écrit : Un avis de débutant, moi je préfère lire :
if (N>0) {blabla} else {blabla};

Juste parce que je suis habitué à me poser la question :
Est-ce que N est supérieur à zéro ?
Donc j'écris le test comme je pense la question.

et si la question est N strictement inférieur à 0 fais tu

if (N<0) {} else {}

ou

if (N>=0) {} else {}

?
mathématiquement c'est la même chose, d'un point de vue performance je crois (mais de croyance aucune preuve) que N>=0 est plus lent (parce que deux conditions), d'un point de vue algorithme, le choix devrait plutôt être quel est le comportement "primaire" ?

perso ce sera

if (condition primaire) {} else {}

que cette condition soit N<0 ou N>=0

genre

if ( N <0) {tout va bien} else {je génère une erreur} si N<0 est "bien"
if ( N >=0} {tout va bien} else { je génère une erreur} si N<0 est "mal"


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Argorate - 19-09-2010

Généralement, ayant un esprit matheu et logique, je ne pense pas que ça m'arrive d'écrire 0 < count(de quoi que se soit), je trouve ça totalement idiot et anglais comme comportement (oui... c'est un pléonasme pardon), mais y parait que ça aide certains... donc je parle pour moi :p


RE: [Coding style] nombre > 0 ou 0 < nombre ? - Sephi-Chan - 19-09-2010

(19-09-2010, 11:16 PM)Argorate a écrit : Généralement, ayant un esprit matheu et logique, je ne pense pas que ça m'arrive d'écrire 0 < count(de quoi que se soit), je trouve ça totalement idiot et anglais comme comportement (oui... c'est un pléonasme pardon), mais y parait que ça aide certains... donc je parle pour moi :p

C'est quoi ces conneries ? Là j'ai plutôt l'impression que tu as l'esprit crétin (et accessoirement raciste…). -.-

Peux-tu expliquer pourquoi utiliser 0 < nombre irait à l'encontre de la logique et des mathématiques ? Car au contraire c'est plutôt logique et mathématique de présenter un ordre croissant comme dans un intervalle 0 < x < 10.


Sephi-Chan


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

C'était une boutade, faut pas mal le prendre ^^

C'est juste qu'une comparaison à 0 c'est pour savoir le signe (positif ou non), l'égalité n'est qu'un cas particulier qui n'est pas un problème. En math j'ai toujours vu et appris à écrire x < (ou >) 0. Mais ça admettons que se soit une convention et qu'on ne veuille pas la suivre, je peux comprendre, mais de façon générale: si tu veux savoir "y a des erreurs?", tu traduis ça, en informatique: "count(erreur) > 0?" Tu ne te dis pas "es-ce que zéro c'est inférieur à ... quelques chose?", c'est absolument pas logique - pour moi encore une fois. Wink

PS : je ne cache pas que je n’aime pas la manie de tout mettre à l'envers des Anglais, de la a parlé de racisme (sachant qu'une race n'est pas fonder sur un pays), n'exagérons rien ^^

Mais chacun est libre de faire comme il veux, le principal c'est que se soit logique pour celui qui le programme Wink


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

Citation :if (N<0) {} else {}

ou

if (N>=0) {} else {}

Je n'ai pas compris la présence de ton exemple, puisque il était question de la place de la variable à gauche du 0 ou à droite du 0, tandis que dans ton exemple la variable est à gauche dans les deux cas, donc je vois pas Wink

Par contre pour répondre à ta question :
Citation :si la question est N strictement inférieur à 0 que fais-tu ?
Déjà je répondrais que si N est strictement inférieur à 0, il ne peut pas être en même temps égal à 0, donc la question ne se pose pas, il n'existe qu'une seule réponse, c'est : if ( N<0 )....


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

(20-09-2010, 12:52 AM)gameprog2 a écrit : Je n'ai pas compris la présence de ton exemple, puisque il était question de la place de la variable à gauche du 0 ou à droite du 0, tandis que dans ton exemple la variable est à gauche dans les deux cas, donc je vois pas Wink

Par contre pour répondre à ta question :
Citation :si la question est N strictement inférieur à 0 que fais-tu ?
Déjà je répondrais que si N est strictement inférieur à 0, il ne peut pas être en même temps égal à 0, donc la question ne se pose pas, il n'existe qu'une seule réponse, c'est : if ( N<0 )....
effectivement tu n'as pas compris où je voulais en venir ^^

si on dit dans le cas ou N est strictement négatif on fait A sinon on fait B y a au moins deux manières de faire :

if (N<0) {A} else {B}

ou

if (N>=0) {B} else {A}

c'est rigoureusement la même chose d'un point de vue algo
je posais ta question car ta phrase était équivoque :
Citation :if (N>0) {blabla} else {blabla};

Juste parce que je suis habitué à me poser la question :
Est-ce que N est supérieur à zéro ?

j'avais compris que tu te posais la question "supérieur à" (donc que tu utilisais potentiellement 0 > $a)
et pas que tu disais comme moi, à savoir variable à gauche ^^

@sephi

c'est tout aussi logique et mathématique de présenter 0 < nombre que nombre > 0
il n'y a jamais eu en logique ni en mathématique de prépondérance sur le supérieur et l'inférieur. Le seul tri croissant systématique est l'intervalle [a,b] ou a est toujours plus petit que b
mais 10 > x > 0 est tout aussi logique et mathématiques que 0 < x < 10

maintenant inutile de s'énerver non plus


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

(19-09-2010, 10:34 PM)Ter Rowan a écrit : et si la question est N strictement inférieur à 0 fais tu

if (N<0) {} else {}

ou

if (N>=0) {} else {}

?
mathématiquement c'est la même chose, d'un point de vue performance je crois (mais de croyance aucune preuve) que N>=0 est plus lent (parce que deux conditions), d'un point de vue algorithme, le choix devrait plutôt être quel est le comportement "primaire" ?

A mon avis, point de vue performance, si le moteur du PHP est bien optimisé, ça sera pareil.
En assembleur, il y a deux instruction qui prennent un seul cycle d'horloge : "est inférieur à", et "est supérieur ou égal à". Ces deux instructions prennent exactement les mêmes ressources, donc je pense que ces deux notation sont "se chatouiller pour se faire rire", ou dit autrement "se couper les cheveux en quatre"... donc, c'est pareil, et c'est juste de la gym mentale pour interpreter l'une ou l'autre Wink


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

L'important reste à mes yeux de se mettre d'accord quand on travaille en projet, après chacun fait son choix, certains disent "un après-midi", d'autre "une après-midi". Si les deux sont corrects je comprend qu'on puisse se poser la question de ce qu'on va faire, mais avec un petit d'expérience en dev je ne vois pas ce qu'il y à de difficile en terme de dev par rapport à des expressions beaucoup plus compliquées. Limite savoir travailler avec les deux permettrait de lire facilement le code des autres et de s'adapter aux méthodes de différentes équipes de dev.


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

On peut cependant dire que ça rendre dans les règles de codages je pense, comme genre les accolades retour de ligne ou pas, espace entre les arguments ou pas.

Et je n'ai jamais vu un programme opensource avec les variables à droite Smile


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

Je trouve que le plus étonnant, c'est que si la majorité utilise la notation 0 > nombre, personne ne semble savoir pourquoi. ^^

Sephi-Chan