Pour ce genre de problème, j'ai vraiment apprécié travailler avec les Closure Tools. Une fois le code annoté, franchement c'est bien typé. Certains trouverons ça lourd, mais c'est justement l'assurance d'avoir un code qui fait ce que tu lui demande, de ne pas avoir d'ambiguïté de type, et en plus d'avoir un code performant (qui se compile, et non se minifie, avec suppression du code mort, inlining, etc).
comme c'est plutôt facile pour certains développeurs de confondre
Oué mais c'est ça que j'ai du mal à comprendre. Comment certains développeurs peuvent ne pas apprendre / comprendre ?
En gros, la règle de base c'est que si tu compares à undefined, null, "", 0; true, false tu dois utiliser === (sinon le résultat n'est pas certain). Et le reste du temps non. Sauf si tu veux, volontairement, faire la différence entre 42 et "42". C'est quand même pas bien dur.
Que certains aient, initialement, du mal avec les scope, les "bind", call, apply, je veux bien. Mais ça doit rester limité et après quelques temps le problème doit disparaître.
Ce truc là permet d'avoir de bonnes règles mais transforment certains développeurs en nazis :)
Et ben voilà ! C'est malin ça. Moi qui croyais que c'était Gnome…
Par contre, suivre de vrai guidelines est plutôt bien. Dans celles que je préfère, celles de Google (encore) : Javascript Guidelines
[^] # Re: Petite question ...
Posté par CrEv (site web personnel) . En réponse au journal Deux nouvelles pour Qt. Évalué à 3.
Pour ce genre de problème, j'ai vraiment apprécié travailler avec les Closure Tools. Une fois le code annoté, franchement c'est bien typé. Certains trouverons ça lourd, mais c'est justement l'assurance d'avoir un code qui fait ce que tu lui demande, de ne pas avoir d'ambiguïté de type, et en plus d'avoir un code performant (qui se compile, et non se minifie, avec suppression du code mort, inlining, etc).
Oué mais c'est ça que j'ai du mal à comprendre. Comment certains développeurs peuvent ne pas apprendre / comprendre ?
En gros, la règle de base c'est que si tu compares à
undefined,null,"",0;true,falsetu dois utiliser===(sinon le résultat n'est pas certain). Et le reste du temps non. Sauf si tu veux, volontairement, faire la différence entre42et"42". C'est quand même pas bien dur.Que certains aient, initialement, du mal avec les scope, les "bind",
call,apply, je veux bien. Mais ça doit rester limité et après quelques temps le problème doit disparaître.Et ben voilà ! C'est malin ça. Moi qui croyais que c'était Gnome…
Par contre, suivre de vrai guidelines est plutôt bien. Dans celles que je préfère, celles de Google (encore) : Javascript Guidelines
Il y a aussi celles-ci : nodeguide
Mais surtout (slides 12 et 13 de bonnes pratiques node.js) :
On n'écrit pas
mais