PETITE CLASSE DE TIMERS

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
- - Dernière réponse : kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
- 29 juil. 2009 à 15:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42313-petite-classe-de-timers

kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
-
De rien de rien de rien... .. .

Bizkottes

@ tchaOo°
PetiteNonne
Messages postés
39
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
20 décembre 2011
-
Merci pour ce show de SetTimer. je débute et ce code est comme un tuto pour moi.
Merci merci merci.
bisous.
kankrelune
Messages postés
1293
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
21 mai 2015
-
Salut... merci pour ton commentaire... concernant l'indentation c'est une question d'habitude... je prefere...

if(condition)
action
else
alternative

que

if(condition)
action
else
alternative

concernant les accès c'est une habitude qui vient des autres langages, notament du php, et ça n'a rien a voir avec de la frime mais juste de bien documenter ses sources pour avoir le plus d'infos en cas de remaniement ultérieur du code et pour ceux qui peuvent être amené à l'utiliser/modifier... il est toujours bon de savoir qu'une methode ou un attribut n'est pas destiné à etre utilisé/manipulé en externe... ça n'est d'ailleur pas valable que pour l'orienté objet... .. .

Sinon pour ce qui est de _timersObjRef je l'ais mis en externe car setInterval() et setTimeout() gètent très mal les référence sur l'objet courant mais je vais tester ta technique histoire de voir... il est clair que si ça marche bien ça sera plus propre... .. . ;o)

@ tchaOo°
ralecul
Messages postés
111
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
1 août 2008
-
Bon ben c'est gagné l'indentation marche pas... désolé...

@+
ralecul
Messages postés
111
Date d'inscription
dimanche 23 mars 2003
Statut
Membre
Dernière intervention
1 août 2008
-
Salut,

Perso je pense que si j'ai besoin d'un timer j'aurais plus vite fait dans coder un,
plutôt que d'utiliser une classe aussi générique, mais bon c'est une question de gout ...

Sinon pour ce qui est du code j'ai une modif à proposer :

- Suppression de la variable globale _timersObjRef (qui est inutile)

Et quelques commentaires anecdotiques :

- je trouve ton indentation un peu zarb, la encore question de gout...

if (condition)
traitement
else
autre traitement

au lieu de :

if (condition)
traitement
else
autre traitement

(d'un autre côté je suis pas sur que l'indentation passe une fois postée et comme on peut pas éditer...)

- euh sinon le coup du @acces public / private c'est un peu de la frime, non :-)

Sans prototype (la lib) ou une autre façon de coder je vois pas trop la diff entre tes méthodes publiques et privées...

CODE sans la variable globale :

Suppression de "_timersObjRef"
Suppression de "this._id = _timersObjRef.count++;" dans le constructeur
Remplacement de la méthode start par celle-ci :

timer.prototype.start = function()
{
var localThis = this;

//register the interval... we use the global referenced timer for updating action
if(!this._handle)
this._handle = setInterval(function() {localThis._update();}, localThis.interval);
}

@+