#976 Le 22/10/2011, à 19:43
- grim7reaper
Re : /* Topic des codeurs [6] */
@helly : ta vieille adresse hotmail est toujours active.
Je viens de recevoir un spam de sa part
Hors ligne
#977 Le 23/10/2011, à 08:05
- The Uploader
Re : /* Topic des codeurs [6] */
C’est que du code…
Jpense pas que remplacer :int main(void) { std::vector< boost::shared_ptr<Attaquant> > liste_attaquants; Attaquant* a = new AttaquantA; liste_attaquants.push_back(a); …
par
int main(void) { std::vector< boost::shared_ptr<Attaquant> > attackers_list; Attacker* a = new AttackerA; attackers_list.push_back(a); …
demande un gros effort. OK, les commentaires c’est plus chiant à faire en anglais, mais le code ça va.
Sinon tu codes ton TD en Baguette on Snails
[HS]le fu- : cette année jme retrouve officieusement avec une LV4, ça commence à faire beaucoup ^^'[/HS]
<trolldi>
[prof d'Agile/TDD] De toute façon un commentaire pour expliquer le code ça veut dire que le code n'est pas lisible, est trop compliqué et pas maintenable dans le temps : pas assez d'abstraction, par exemple Et il arrive un moment où on a la flemme de mettre à jour les commentaires... [/prof d'Agile/TDD]
Perso je suis assez d'accord au regard de mon expérience perso. Par contre, je crois si je suis en train de lire du code C archi compliqué (genre celui du x264), y'aura pas assez d'abstraction pour me sauver, les commentaires et/ou une autre forme de doc' (commits) seront indispensable pour comprendre, ne serait-ce qu'un peu. ^^'
</trolldi>
Dernière modification par The Uploader (Le 23/10/2011, à 08:07)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#978 Le 23/10/2011, à 09:39
- grim7reaper
Re : /* Topic des codeurs [6] */
[prof d'Agile/TDD] De toute façon un commentaire pour expliquer le code ça veut dire que le code n'est pas lisible, est trop compliqué et pas maintenable dans le temps
Et la marmotte…
C’est beau les grandes tirades théoriques, j’en verserai presque une petite larme tellement c‘est touchant de naïveté.
À ce compte‑là, on va dire que les tests ça ne sert à rien : ça veut dire que le code est mal écrit, est trop compliqué et manque de souplesse (bah oui, faut écrire des tests pour vérifier qu’on casse rien donc c’est la faute du code)
C’est facile de toujours rejeter la faute sur le code (surtout quand c’est pas le sien ) : je comprends pas, bah ça vient pas de moi c’est la faute du mec qui sait pas coder (des fois c’est vrai, des fois non).
Généralement, c’est surtout que le gus code différemment de nous (point de vue visuel d’une part, mais parfois aussi niveau raisonnement) et comme comprendre demande un effort (ouh, c’est fatigant ça !) bah on va dire que le code est mal écrit (ou pas assez abstrait, ou trop compliqué, ou…) hein ! C’est plus simple !
Je connais pas ton prof, mais sur ce coup il dit de la merde.
Trop de commentaire c’est mal, des commentaires dans la fonction elle-même ça reste rare (généralement en en-tête ça suffit). Mais pas de commentaire du tout, faut vraiment jamais avoir mis le nez dans du « vrai » code qui ne t’appartient pas pour prôner de telles énormités.
Et puis t’es en retard : trolldi c’était hier !
Dernière modification par grim7reaper (Le 23/10/2011, à 09:42)
Hors ligne
#979 Le 23/10/2011, à 10:06
- helly
Re : /* Topic des codeurs [6] */
+4 à grim .
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#980 Le 23/10/2011, à 10:08
- grim7reaper
Hors ligne
#981 Le 23/10/2011, à 11:01
- helly
Re : /* Topic des codeurs [6] */
Ha ?
Ma sœur aussi Oo
Pourtant non, je me suis bien désinscrit cette adresse mail n’existe plus !
Peut être justement pour ça que les spams l’ont reccupérée…
Sinon, je savais même pas que tu avais eu mon adresse hotmail oo !
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#982 Le 23/10/2011, à 11:03
- grim7reaper
Re : /* Topic des codeurs [6] */
Sinon, je savais même pas que tu avais eu mon adresse hotmail oo !
Bah si
Je t’avais même sur Jabber (et je t’avais aidé à configurer vsftpd d’ailleurs, c’était fin janvier 2010 il me semble).
Dernière modification par grim7reaper (Le 23/10/2011, à 11:05)
Hors ligne
#983 Le 23/10/2011, à 11:12
- Pylades
Re : /* Topic des codeurs [6] */
ArkSeth, c’est normal que blacklist ne soit plus pris en compte dans ~/.config/touhy/deskman/devices.list ?
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#984 Le 23/10/2011, à 11:18
- tshirtman
Re : /* Topic des codeurs [6] */
Pas besoin d'avoir une adresse mail, ni meme qu'elle existe, pour écrire un mail depuis cette adresse, hein. S'ils savent que cette adresse existe ou a existé, ça leur suffit pour penser que les spams passeront mieux s'ils viennent de cette adresse.
Hors ligne
#985 Le 23/10/2011, à 11:34
- helly
Re : /* Topic des codeurs [6] */
helly a écrit :Sinon, je savais même pas que tu avais eu mon adresse hotmail oo !
Bah si
Je t’avais même sur Jabber (et je t’avais aidé à configurer vsftpd d’ailleurs, c’était fin janvier 2010 il me semble).
Et la partie de wesnoth que j’ai allègrement foirée \o/ !
Bon, rien à voir, quelques questions pour mon TD.
D’abord les traits, voir si j’ai bien compris : est ce que m’en servir pour savoir la taille d’une unité c’est bien un bon usage des traits ?
Exemple
template <class C>
struct the_size
{
static const unsigned int value = 0;
};
template <>
struct the_size <UniteA>
{
static const unsigned int value = 1;
};
template <>
struct the_size <UniteB>
{
static const unsigned int value = 2;
};
Que j’applique :
…
std::cout << "la taille d’une unité A est de "<< the_size<UniteA>::value<<'\n';
Ce qui me permet de connaître la taille sans avoir à créer un objet de la classe.
C’est bien à ça que ça sert ou je me trompe ?
Autre chose, je me souviens que pour un constructeur (ou autre), on dit que c’est mieux de faire
Classe(int x, int y):abs(x),ord(y)
Plutôt que
Classe(int x, int y)
{abs = x; ord = y;}
*
Mais avec mes neurones en bouillie, je me souviens plus pourquoi c’est mieux !
On peut me re-éclairer svp ?
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#986 Le 23/10/2011, à 12:01
- grim7reaper
Re : /* Topic des codeurs [6] */
grim7reaper a écrit :helly a écrit :Sinon, je savais même pas que tu avais eu mon adresse hotmail oo !
Bah si
Je t’avais même sur Jabber (et je t’avais aidé à configurer vsftpd d’ailleurs, c’était fin janvier 2010 il me semble).Et la partie de wesnoth que j’ai allègrement foirée \o/ !
Ha oui, aussi
D’abord les traits
[…]
D’un point de vue syntaxique c’est correct.
Après, point de vue sémantique, pourquoi ne pas utiliser un membre statique constant ? Ça reviendrai au même, mais en moins compliqué je pense.
Jpense que sortir une classe de trait pour ça c’est un peu overkill (bon après je manque encore un peu d’expérience sur les traits et leurs usages, mais c’est l’impression que ça me donne).
Autre chose, je me souviens que pour un constructeur (ou autre), on dit que c’est mieux de faire
Classe(int x, int y):abs(x),ord(y)
Plutôt que
Classe(int x, int y) {abs = x; ord = y;}
*
Mais avec mes neurones en bouillie, je me souviens plus pourquoi c’est mieux !
On peut me re-éclairer svp ?
Hors ligne
#987 Le 23/10/2011, à 12:51
- Pylades
Re : /* Topic des codeurs [6] */
Y a-t-il un moyen simple de parser du XML en Python ? Un genre de truc un peu comme BeautifulSoup, mais qui permettrait en plus de valider le document si on fournit un DTD et d’écrire un fichier XML.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#988 Le 23/10/2011, à 12:56
- grim7reaper
Re : /* Topic des codeurs [6] */
Peut-être lxml.
Elle fait au moins la validation (donc forcément le parsing), pour l’écriture je ne sais (pour l’existence d’une version Python 3, idem je ne sais pas).
Apparemment, libxml2 fait aussi de la validation.
Dernière modification par grim7reaper (Le 23/10/2011, à 12:58)
Hors ligne
#989 Le 23/10/2011, à 13:18
- The Uploader
Re : /* Topic des codeurs [6] */
t'as pwned mon trolldi.
C'est clair que les commentaires ne sont pas inutiles et sauvent toujours. Perso je crois que le mec il fait trop de Java. Java s'pour les gosses, le C façon x264 sans commentaire t'es foutu.
Sauf quand y'en a à chaque ligne (j'ai fait ça une fois). C'est de la merde à mettre à jour ensuite, et ça nique la lisibilité.
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#990 Le 23/10/2011, à 13:54
- Elzen
Re : /* Topic des codeurs [6] */
ArkSeth, c’est normal que blacklist ne soit plus pris en compte dans ~/.config/touhy/deskman/devices.list ?
Ouaip, c'est que t'as mal lu le commentaire sur le changement de config :
Pour découper ce fichier : tout ce qui concerne les positions des icônes sur le bureau est à transférer dans deskman/devices.list. En gros, il ne doit contenir que des sections dont le nom représente un chemin d'accès (/dev/XXX ou /mnt/YYY), et qui ne contiennent que les entrée xpos et ypos. Le fichier system/devices.list contient tout le reste de ce qui concerne les points de montage. Enfin, system/vfs.list contient ce qui concerne les supports virtuels (images disques ou infos de périphs réseaux).
Le blacklistage se fait au niveau du moteur, donc dans ~/.config/touhy/system/devices.list
(Ceci dit, j'pourrais éventuellement rajouter une blacklist spécifiqueaux icônes du bureau, pour que le périph soit toujours listé ailleurs, mais juste pas affiché sur le bureau… j'n'avais pas fait parce que j'considérais qu'au pire, tu pouvais juste foutre des coordonnées négatives à l'icône pour pas la voir, mais c'est vrai que ce serait plus propre comme ça. Pour les fichiers, aussi. J'essayerai de penser à rajouter ça pour la prochaine release.)
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#991 Le 23/10/2011, à 14:09
- Rolinh
Re : /* Topic des codeurs [6] */
Il faut savoir où est le juste milieu. Du bon code, ça doit pouvoir se lire comme un livre (ou presque). Si tu as besoin de trop commenter, c'est que ton code est pourri. En revanche, il peut arriver que certaines parties du code soient un peu plus difficile à appréhender et qu'elles nécessitent un commentaire. Par exemple, dans LinCopier, on fait un mappage en mémoire des fichiers de moins de 8Mb: c'est typiquement le truc qui nécessite d'être commenté afin d'expliquer pourquoi on fait cela.
Normalement, je commente mes fonctions en expliquant brièvement quel sont leur rôle et, le cas échéant, quel sont leur retour.
Hors ligne
#992 Le 23/10/2011, à 14:11
- The Uploader
Re : /* Topic des codeurs [6] */
Exactement ce que je pense et fait. Je crois que le prof est trop extrêmiste.
Dernière modification par The Uploader (Le 23/10/2011, à 14:35)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#993 Le 23/10/2011, à 14:18
- tshirtman
Re : /* Topic des codeurs [6] */
oui, les commentaires ne doivent pas dire ce que fait le code (sauf optimisation rendant illisible, qui sont un cas extrème), mais pourquoi, il le fait.
Hors ligne
#994 Le 23/10/2011, à 14:27
- grim7reaper
Re : /* Topic des codeurs [6] */
Yep, on en revient à ce que je disais :
Trop de commentaire c’est mal, des commentaires dans la fonction elle-même ça reste rare (généralement en en-tête ça suffit). Mais pas de commentaire du tout, faut vraiment jamais avoir mis le nez dans du « vrai » code qui ne t’appartient pas pour prôner de telles énormités.
Trop c’est trop (typiquement le ligne à ligne, sauf en assembleur bien sûr), dans la fonction c’est pour des cas précis (l’exemple de Rolinh en est un, les optimisations de brutes faites dans les codecs en sont d’autres) sinon mettre en en-tête de la fonction une description générale des E/S et du principe de la fonction suffit (si le code est bien fait).
Hors ligne
#995 Le 23/10/2011, à 14:28
- tshirtman
Re : /* Topic des codeurs [6] */
c'est sans doute la faute à python, mais dans les en tetes, je considère ça comme de la doc, pas comme des commentaire .
Hors ligne
#996 Le 23/10/2011, à 14:33
- grim7reaper
Re : /* Topic des codeurs [6] */
c'est sans doute la faute à python
C’est aussi en Emacs Lisp, et je crois que ce dernier est plus vieux que Python
mais dans les en tetes, je considère ça comme de la doc, pas comme des commentaire .
Bah je ne vois pas le souci : c’est de la doc’. D’ailleurs mes commentaires d’en-tête finissent généralement par devenir des commentaires Doxygen.
Les commentaires c’est bien une forme, primitive certes, de documentation.
Hors ligne
#997 Le 23/10/2011, à 14:36
- The Uploader
Re : /* Topic des codeurs [6] */
c'est sans doute la faute à python, mais dans les en tetes, je considère ça comme de la doc, pas comme des commentaire .
c'est aussi le cas en Ruby.
d'ailleurs un équivalent à doctest serait rubydoctest.
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#998 Le 23/10/2011, à 14:36
- Elzen
Re : /* Topic des codeurs [6] */
En ce qui me concerne, je mets un commentaire par fonction pour expliquer à quoi elle sert et éventuellement quels sont les paramètres attendus (ça dépend si c'est une fonction complètement interne ou pas, dans le second cas, j'en mets pour que la personne qui va s'en resservir puisse savoir rapidement ce qu'il faut ; dans le premier, je n'en mets que si je considère que le rôle de chaque param n'est pas évident en lisant le code). Ça, c'est le minimum.
Pour le code lui-même, je groupe les différentes lignes en fonction de ce sur quoi elles portent, et je mets un commentaire global, un peu comme un titre sur un paragraphe. Gerne ça :
import gtk
# Création de la fenêtre.
win = gtk.Window()
win.set_title("Ma fenêtre")
win.set_icon(my_icon)
# Réglage du comportement.
win.set_keep_above(True)
win.set_decorated(False)
win.stick()
# Affichage.
win.show_all()
gtk.main()
À peu de choses près.
Et puis bien sûr, quand le code ne me semble pas évident à lire, j'mets des commentaires plus précis pour dire ce que ça fait exactement. Si j'suis d'humeur bavarde, je mets aussi des commentaires pour expliciter les tests et les boucles. Si j'suis d'humeur pas bavarde du tout, je n'mets quasiment rien, voire rien du tout (mais j'essaye d'éviter, quand même).
Dernière modification par ArkSeth (Le 23/10/2011, à 14:37)
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#999 Le 23/10/2011, à 14:47
- HP
Re : /* Topic des codeurs [6] */
Allez, un peu de rails, et comme j'ouvre tous mes fichiers depuis le terminal avec open (script perso utilisent du pygtk), et bien mes documents récents en gardent une trace :
Je pense refaire mon blog en rails… parce que bon, PHP c'est pas ce qu'il y a de mieux… et j'ai besoin de quelque chose de fiable sur l'UTF-8 ; donc, bon, on va pas attendre PHP 6 .
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#1000 Le 23/10/2011, à 15:03
- Rolinh
Re : /* Topic des codeurs [6] */
@ArkSeth: j'espère que, si tu commentes en français, tu évites au moins les accents (pas comme dans ton exemple donc..).
Hors ligne