11540 sujets
Bonjour,
Quelques remarques ainsi:
Si tu veux que ton framework soit pris au sérieux, il faut absolument que tu sois en mesure de fournir une suite de test (unit test) complète.
Ta méthode trim() est plutôt mal nommé car ES5 intègre une fonction trim() native en javascript, et elle ne sert pas à la même chose.
Je ne comprend pas pourquoi tu offre autant de méthode publique (exemple la liste des easeX()), ton interface serait beaucoup plus simple si simplifiée.
En tout cas, bonne chance. C'est un bon projet scolaire.
Quelques remarques ainsi:
Si tu veux que ton framework soit pris au sérieux, il faut absolument que tu sois en mesure de fournir une suite de test (unit test) complète.
Ta méthode trim() est plutôt mal nommé car ES5 intègre une fonction trim() native en javascript, et elle ne sert pas à la même chose.
Je ne comprend pas pourquoi tu offre autant de méthode publique (exemple la liste des easeX()), ton interface serait beaucoup plus simple si simplifiée.
En tout cas, bonne chance. C'est un bon projet scolaire.
Bonjour,
Il faut commencer par regardé les points critiques : fonctions souvent utilisées et/ou longues à s’exécute. Après les optimisées.
Un truc question l'optimisation, le parseur js (si je me trompe) réanalyse les fonctions créés à l'intérieur d'une fonction.
Pour évité que f() soit réanalysé il faut l'extériorisé. Et si l'on veux le laissé "privé" utilisé une fonction anonyme qui retourne la fonction A.
C'est à vérifié. À testé sur la fonction JSON, vu comme elle grosse, si le code est réanalysé ça va ce remarquer tout suite.
D'ailleurs, en parlant de la fonction JSON, je suis pas sûr qu'un eval soit moins rapide…
La fonction sert à supprimé les espace blanc, je ne voit pas en quoi elle différente de la sienne Oo ?
trim de mozilla (avec une seul regexp).
Les escapeHTML pourrait juste protégé '<' et '&', cela suffit. Et pour l'optimisation, je ne sais pas si deux replace est plus rapide qu'un replace avec regex + condition
À testé. Mais je pense que ça dépend surtout du nombre de caractère et la position où ils ce trouvent.
Voilà, j'ai surtout fait du survol. J'ai mit plus de temps à écrire ma réponse
.
Extaze a écrit :
il y a un petit problème de rapidité (si quelqu'un a des idées, je suis preneur).
Il faut commencer par regardé les points critiques : fonctions souvent utilisées et/ou longues à s’exécute. Après les optimisées.
Un truc question l'optimisation, le parseur js (si je me trompe) réanalyse les fonctions créés à l'intérieur d'une fonction.
var A = function(/*args*/){
var f = function(){/*code réanalysé quand A est appelé */}
/*code*/
}
Pour évité que f() soit réanalysé il faut l'extériorisé. Et si l'on veux le laissé "privé" utilisé une fonction anonyme qui retourne la fonction A.
var A = (function(){
var f = function(){/*code */}
//retourne la fonction A
return function(/*args*/){
/*code*/
}
})()
C'est à vérifié. À testé sur la fonction JSON, vu comme elle grosse, si le code est réanalysé ça va ce remarquer tout suite.
D'ailleurs, en parlant de la fonction JSON, je suis pas sûr qu'un eval soit moins rapide…
Vaxilart a écrit :
Ta méthode trim() est plutôt mal nommé car ES5 intègre une fonction trim() native en javascript, et elle ne sert pas à la même chose.
La fonction sert à supprimé les espace blanc, je ne voit pas en quoi elle différente de la sienne Oo ?
trim de mozilla (avec une seul regexp).
Les escapeHTML pourrait juste protégé '<' et '&', cela suffit. Et pour l'optimisation, je ne sais pas si deux replace est plus rapide qu'un replace avec regex + condition
stringhtml.replace(/<|&/g, function(c){return c === '&' ? "&" : "<"; })
À testé. Mais je pense que ça dépend surtout du nombre de caractère et la position où ils ce trouvent.
Voilà, j'ai surtout fait du survol. J'ai mit plus de temps à écrire ma réponse

@Vaxilart
C'est dans les objectifs, la doc passe en première non ?
Si elles font la même chose, mais trim arrive sur js 1.8.1, bien longtemps après fly.js. Et c'est surtout pour "usage interne" que j'ai cette fonction, je ne voulais pas faire un ramassis de polyfills.
@jo_link_noir
Pour ton histoire de closures, je crois que jslint détecte ce genre de choses, je regarde de plus près tout à l'heure
a écrit :
Si tu veux que ton framework soit pris au sérieux, il faut absolument que tu sois en mesure de fournir une suite de test (unit test) complète.
C'est dans les objectifs, la doc passe en première non ?
a écrit :
Ta méthode trim() est plutôt mal nommé car ES5 intègre une fonction trim() native en javascript, et elle ne sert pas à la même chose.
Si elles font la même chose, mais trim arrive sur js 1.8.1, bien longtemps après fly.js. Et c'est surtout pour "usage interne" que j'ai cette fonction, je ne voulais pas faire un ramassis de polyfills.
@jo_link_noir
Pour ton histoire de closures, je crois que jslint détecte ce genre de choses, je regarde de plus près tout à l'heure