90

Ximoon (./86) :
Je pensais surtout à "WordList &cpuInstruction = *keywordlists[0];" pour dire ça tongue.gif
plus clair comme ça wink

avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

91

Ximoon (./84) :
"for (; sc.More(); sc.Forward())"

Euh, même en C, ça peut se remplacer par
while (sc.More()) { ... ; sc.Forward(); }

(d'ailleurs, c'est fait)

92

Oui mais juste que je trouve ça super moche, pour plusieurs raisons :

- On ne sait pas sur quoi on boucle (incrément ? bornes ?)
- Je n'aime pas les appels de fonctions dans des tests, ça tu le sais grin
- Si ce n'est pas un vrai for(), pourquoi mettre un for() ?

Bref, si ça avait été moi, j'aurais développé explicitement boucle, l'incrémentation et le test de sortie happy
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

93

Comme le disait Folco hier sur IRC, il ne s'agit pas de faire voler un avion non plus hehe
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

94

Juste un hélico wink
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

95

Ximoon (./92) :
- Si ce n'est pas un vrai for(), pourquoi mettre un for() ?

Ca fait partie des 3 lignes que j'ai bêtement recopiées sur le lexer MASM, je plaide coupable, c'est (c'était !) très moche oui
Ximoon (./92) :
- Je n'aime pas les appels de fonctions dans des tests, ça tu le sais

C'est pas exactement une fonction, mais une méthode cheeky

En plus, c'est vraiment sale de sortir l'appel du test :
bool val = sc.More();
while (val != FALSE) // (sic !)
{
    ...
    val = sc.More();
    sc.Forward();
}

Ca fait deux appels à More() pour faire le boulot, une variable en plus, je trouve ça moins clair qu'un seul appel de méthode booléenne à l'endroit précis où l'on attend un booléen (ie la condition du while).

C'est vraiment si crade d'utiliser un while tel qu'écrit au ./91 ? Je trouve que ça gagne en clarté, mais t'en penses quoi ?
Ximoon (./92) :
- On ne sait pas sur quoi on boucle (incrément ? bornes ?)

Oui, il y a une manière propre d'écrire (while), je sais pas pourqoi le for a été choisi sur ce coup-là...

ps -> double cross : on va tenter de faire du correct, sans tomber dans l'excès. Mais je reconnais tout à fait que ce que j'ai posté hiuer est crade. grin
Maintenant je pense qu'en pondérant les choses, je peux faire plus clair sans devenir extrémiste ^^

96

Je trouve ton while du ./91 tout à fait acceptable en effet, tellement mieux que le for en tout cas cheeky

0²> J'avais dit que je n'allais pas débattre de tout ça, Folco a insisté, alors je donne mon avis tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

97

... et je t'en remercie bien. smile

98

Moi au contraire je préfère le "for" au "while" dans ce cas précis. Le "for" a une signification habituelle de parcours de tableau, liste,... ce qui semble être le cas dans le source de Folco.
avatar

99

Ximoon (./92) :
Oui mais juste que je trouve ça super moche, pour plusieurs raisons :

- On ne sait pas sur quoi on boucle (incrément ? bornes ?)
- Je n'aime pas les appels de fonctions dans des tests, ça tu le sais grin- Si ce n'est pas un vrai for(), pourquoi mettre un for() ?

Ce qu'il cherche à faire est une itération sur une collection, et non une boucle. Dans un autre langage, on aurait écrit "foreach", mais le C et le C++ ne possédant pas ce mot-clé, on utilise souvent par convention ce qui est proposé par les sous-classes "iterator" de la STL (for (i = collection.begin (); i != collection.end (); ++i)). Il me semble qu'en Java, les itérateurs fonctionnent sur un mode proche de ce qu'a posté Folco.

Quoiqu'il en soit, ce n'est pas une boucle avec un compteur, mais ça n'est pas nécessairement une hérésie pour autant grin (et même si "foreach" serait la meilleure solution, "for" me parait beaucoup plus logique qu'un "while" ici)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

100

Présenté comme ça ok, juste que les noms des méthodes (et l'absence de commentaire tongue) ne m'ont pas fait penser spontanément à un foreach, je pensais qu'il parcourait le fichier, ou je ne sais pas quoi.
Mais je reste à penser qu'un for() sans condition d'initialisation, c'est mal tongue
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

101

Je vote "neutre" ; le for ne me choque pas vraiment, mais spontanément j'aurais utilisé un while ; d'ailleurs, il me semble que le parcours d'une liste chaînée, qui est en gros un foreach, se code habituellement avec un while (ptr) { ...; ptr = ptr->next; }

(ou while (ptr != NULL) pour Ximoon hehe)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

102

entendu à l'instant au bureau : "de toutes manières, on évite de mettre des commentaires parce que ça alourdi inutilement les fichiers sources"
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

103

Un avantage du for est qu'il embarque l'incrémentation (sc.Forward()). Donc on peut faire un continue où l'on veut dans la boucle, sans avoir à se soucier du compteur (et éviter une boucle infinie en cas d'erreur).

cross -> y avait pas plus de commentaires dans le source qui m'a guidé, et j'ai pourtant tout compris (ok, j'ai dû aller lire le header et l'implémentation de la classe StyleContext, dont sc est une instance). C'est un avantage du C/C++ sur l'assembleur je dois reconnaitre.

104

Ouais, bon, pour le coup l'instruction "continue" est bannie de mon répertoire gni (comme "break" à part pour les "switch")
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

105

Ouais, bon, pour le coup l'instruction "continue" est bannie de mon répertoire gni (comme "break" à part pour les "switch")

Alors le "goto", quand il s'agit de forcer la sortie d'une ou plusieurs boucles, doit être encore plus banni, certainement ? grin
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

106

Dans ce cas, autant bannir int, for, while, goto, return et if tripo

107

Ximoon : Mais t'es un #chieur# toi c'est pas possible grin

108

Folco (./103) :
Un avantage du for est qu'il embarque l'incrémentation (sc.Forward()). Donc on peut faire un continue où l'on veut dans la boucle, sans avoir à se soucier du compteur (et éviter une boucle infinie en cas d'erreur).
Tiens, bonne remarque !

Vince : tes collègues mériteraient leur place dans "les meilleures quotes" hehe

Folco : le continue, goto et quelques autres instructions et constructions sont interdites par certains standards de code, dont ceux de l'aéronautique je crois smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

109

./105 > exactement grin (et pour les mêmes raisons que je donnais pour la présence d'une seule instruction "return").

avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

110

vince (./102) :
entendu à l'instant au bureau : "de toutes manières, on évite de mettre des commentaires parce que ça alourdi inutilement les fichiers sources"
Ca n'est pas entièrement faux. L'abus de commentaire peut parfois au contraire rendre un code beaucoup moins lisible. Je le constate tous les jours, où à cause de certaines pseudo "bonnes pratique" on se retrouve avec des commentaire partout souvent pour mentionner des évidences.

Commenter c'est bien, quand il y a quelque chose à dire.



avatar

111

Ximoon (./109) :
et pour les mêmes raisons que je donnais pour la présence d'une seule instruction "return"

J'ai déjà modifié ça, pour toi modo chéri #itm#bisoo

112

/* début du commentaire
note : pas de commentaire
fin du commentaire*/
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

113

grin
Dans le même esprit, je définis la couleur des commentaires sur un gris neutre, ça agresse moins les yeux que le bleu qui est souvent par défaut.

114

Folco > t'es pas obligé de faire tout ce que je dis, je donne mes préférences, que tous ne partagent pas, et non pas des ordres grin

(commentaires verts sur fond vert clair ici)

R8Y9
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

115

rhahaaaaa, mais tu vois encore le code avec ça ?

116

Je sais pas ce que vous en pensez, mais je trouve ça :
        // Label and macro identifiers start at the beginning of a line
        // We set both as a label, but if it weren't one (no ':' at the end),
        // it will be changed as a macro identifier.
        if (sc.atLineStart && IsLabelStart(sc.ch))
        {
            sc.SetState(SCE_A68K_LABEL);
        }

        // Comments
        else if (sc.ch == ';')
        {
            sc.SetState(SCE_A68K_COMMENT);
        }

        // Decimal numbers haven't prefix
        else if (isdigit(sc.ch))
        {
            sc.SetState(SCE_A68K_NUMBER_DEC);
        }

        // Binary numbers are prefixed with '%'
        else if (sc.ch == '%')
        {
            sc.SetState(SCE_A68K_NUMBER_BIN);
        }

beaucoup plus lourd que ça :
        else if (sc.ch == '\"')
            sc.SetState(SCE_A68K_STRING2);
        else if ((sc.ch == '\') && (isdigit(sc.chNext)))
            sc.SetState(SCE_A68K_MACRO_ARG);
        else if (IsIdentifierStart(sc.ch))
            sc.SetState(SCE_A68K_IDENTIFIER);

Ya un intermédiaire, non, genre passer une ligne avant de repartir sur un "else if" et mettre le commentaire en bout de ligne ?
Qu'en pensez-vous ? cheeky

Uther : Si t'as des critiques par rapport au post ./81, c'est le moment, merci d'avance (peut-être grin)

cross -> pencil Pen^2

117

else if ( sc.ch == '\"' ) {
   sc.SetState(SCE_A68K_STRING2) ; 
}
else if ( sc.ch == '\' && isdigit(sc.chNext) ) {
   sc.SetState(SCE_A68K_MACRO_ARG) ; 
}
else if ( IsIdentifierStart(sc.ch) ) {
   sc.SetState(SCE_A68K_IDENTIFIER) ;
}



Pour les commentaires, ça dépend de la taille de la ligne. Et en général, je coupe ma ligne pour les tests avec les && et les ||

118

Pen²> bah ouais, je zappe tout ce qui n'est pas sur fond blanc, justement grin
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

119

Moué, je suppose qu'on s'habitue à tout, mais quand même, c'est pas super logique grin

120

Ca permet de faire de zolis blocs de commentaires, en n'utilisant bien sûr que des /* et */, et en alignat les fin de commentaires sur une même colonne love
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.