L'un est-il plus lisible que l'autre? Au début, je n'aimais pas l'approche false ===
mais comme je le vois de plus en plus souvent, je me réchauffe. Je suis sûr qu'ils retournent des résultats identiques.
Répondre
Je préfère grandement
false === $var
Soit parce que parfois vous n'utilisez que l'égalité et ne cherchez pas d'identité.
Dans ce cas, vous écrivez
false == $var
Mais parfois, vous n'êtes pas au sommet de votre jeu, et pourrait écrire
false = $var
qui donnera une erreur immédiate, et nous allons vous fixer tout de suite.
Cependant, si vous tapez
$var = false
vous finissez par battre la tête contre un mur pendant une heure à essayer de comprendre pourquoi votre script ne fonctionne pas correctement.
L'utilisation d'un IDE décent corrige cet argument. –
Le code doit être accessible indépendamment de l'IDE –
Il n'y a absolument aucune différence fonctionnelle.
Je préfère habituellement placer la première variable et la valeur constante seconde. Parce que cela fait sens (Lorsque vous parlez à haute voix, diriez-vous « je teste que la variable est faux »? Ou « je teste que le faux est égal à la variable »?)
+1, j'aime votre vision du «code aussi fort que cela sonne fort» –
Les IDE modernes vous alerteront si vous utilisez une affectation dans une instruction if, donc le seul cas d'utilisation pour mettre la constante en premier diminue rapidement. – Sven
Cela dépend si vous êtes un fan de Star Wars: "si faux est la valeur ..." –
Un ingénieur logiciel bien meilleur que moi m'a appris à ce sujet. Longue histoire courte, en plaçant la première constante est une bonne pratique, même si elle peut sembler étrange au premier abord. Je dis que c'est une bonne pratique car il se traduit par les résultats les plus prévisibles:
$var = null;
if (false === $var) { // NullPointerException is not thrown; only evaluates to "true" if the value "false" was assigned to $var
...
}
if ($var === false { // NullPointerException will be thrown
...
}
if (false = $var) { // Parse Error
...
}
if ($var = false) { // the value false is assigned to $var
...
}
Nous parlons de PHP, il n'y a pas d'exception NullPointer. – Sven
Mais le concept s'applique toujours. –
- 1. Quelle est la différence entre {$ var} et $ var?
- 2. Quelle est la différence entre false et FALSE?
- 3. php: variants: lequel est le plus rapide: is_int ($ var) ou ($ var! == false) ou (! ($ Var === false))?
- 4. MYSQL - NOT vs var = false
- 5. quelle est la différence entre ObjectQuery et "var"?
- 6. javascript var ou non var, quelle est la différence?
- 7. Quelle est la différence entre GC.GetTotalMemory (false) et GC.GetTotalMemory (true)
- 8. En objectif-C, quelle est la différence entre Type * var et Type * var?
- 9. JQuery: Quelle est la différence entre "var test" et "var $ test"
- 10. différence entre l'objet var et objet * var = new Object()
- 11. Array & Session - Différent entre 'var' et $ var
- 12. Différence entre var someObj = {}; et var someObj = new RealObj
- 13. C - Différence entre "char var []" et "char * var"?
- 14. Différence entre self.var et simplement var
- 15. différence entre: [ScaffoldColumn (false)] et [Display (AutoGenerateField = false)]
- 16. false/FALSE - une différence?
- 17. Quelle est la différence btw NSString * var = @ "valeur" et NSString * var = [[NSString alloc] initWithString: @ "valeur"]
- 18. Quelle est la différence entre var t: MyClass = MyClass (o); et var t: MyClass = o comme MyClass;
- 19. Comment var var in list et var in liste?
- 20. quelle est la différence entre la fonction var et la fonction en javascript?
- 21. Comment puis-je déterminer la différence entre false et 0?
- 22. différence entre 'var a = 2' et 'this.a = 2'
- 23. Quelle est la différence exacte entre la colonne d'adressage de $ mycol, [[mycol]] et [, mycol, with = FALSE]?
- 24. Paramètre Fonction Boolean var à False ou True
- 25. Quelle est la différence entre utiliser var et ceci, en Javascript?
- 26. Linq, quelle est la différence entre renvoyer des données dans var, list, IEnumarable et IQueryable?
- 27. quelle est la différence entre définition et var/val pour une fonction anonyme
- 28. Quelle est la différence entre $ un et var un dans JavaScript?
- 29. Quelle est la différence entre None check et var ou syntaxe par défaut dans Python?
- 30. Quelle est la différence entre "var" et les déclarations de champ?
Je suppose que c'est comme dire que si 'x = y' alors' y = x' – JCOC611
Le second est plus facile de mal de type comme une affectation sans provoquer d'erreur –
http://wiert.me/2010/05/25/yoda-conditions-from-stackoverflow-new-programming-jargon-you-coined/ – Dogbert