#1351 Le 02/11/2011, à 19:15
- Rolinh
Re : /* Topic des codeurs [6] */
@helly: pour quelle(s) raison(s) voudrais-tu limiter l'utilisation de ssh à un scp à sens unique? Si tu précises un peu mieux ton besoin, on pourra peut-être te trouver une solution adaptée.
@Titus007: du peu que j'ai vu du tutoriel sur le C du site du zéro, cela ne m'a pas donné envie de le conseiller à quiconque. Ça serait bête de prendre directement des mauvaises habitudes.
j’arrive plutôt bien à faire tourner/debugger le code dans ma tête (aidé d’un crayon de papier + papier quand ça devient trapu).
Le must, ça reste le tableau blanc. Il m'est arrivé plusieurs fois de squatter un des tableaux blancs de l'uni afin de décortiquer l'exécution d'un code d'autant plus quand on se retrouve à plusieurs à réfléchir dessus (faut vraiment que je m'en achète un d'ailleurs). Super utile aussi pour poser la structure de son programme avant de l'écrire.
Ceci dit, pour ma part, gdb s'est déjà révélé fort utile à trouver des bugs vraiment cachés. Je ne l'utilise cependant qu'en solution de dernier recours.
EDIT: en parlant de vim: c'est son 20e anniversaire
Dernière modification par Rolinh (Le 02/11/2011, à 19:17)
Hors ligne
#1352 Le 02/11/2011, à 19:29
- The Uploader
Re : /* Topic des codeurs [6] */
Ben déjà tu fais des tests *unitaires*, tu oublies le debugger (grand principe, dixit mon prof qui en fait depuis 10 ans).
J'veux dire, rien que le fait de déboguer son test : "you're doing it wrong". Tu fais ton test unitaire, tu implémente juste ce qu'il faut pour ce que ça passe, tu fais un nouveau test (rouge, refactoring, vert, rouge, refactoring, vert, ...), et ainsi de suite.
edit : [private] euh sinon le torrent est pour bientôt ^^ (j'ai essayé de mettre Arch hier soir finalement par pur fanboyisme, ça n'a pas marché.. )
Dernière modification par The Uploader (Le 02/11/2011, à 19:31)
- 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
#1353 Le 02/11/2011, à 19:43
- grim7reaper
Re : /* Topic des codeurs [6] */
Ben déjà tu fais des tests *unitaires*, tu oublies le debugger (grand principe, dixit mon prof qui en fait depuis 10 ans).
J'veux dire, rien que le fait de déboguer son test : "you're doing it wrong". Tu fais ton test unitaire, tu implémente juste ce qu'il faut pour ce que ça passe, tu fais un nouveau test (rouge, refactoring, vert, rouge, refactoring, vert, ...), et ainsi de suite.
Oui, oui :]
La théorie c’est beau, la mise en pratique sur des cas simple aussi.
L’écriture de tests unitaires corrects sur des projets avec des trucs du genres MT (multithreading), GUI (donc utilisation de mock & cie en général) ou autre trucs qui complexifie le code, c’est un déjà moins évident.
edit : [private] euh sinon le torrent est pour bientôt ^^ (j'ai essayé de mettre Arch hier soir finalement par pur fanboyisme, ça n'a pas marché..
)
T’inquiète, je ne suis pas pressé
Hors ligne
#1354 Le 02/11/2011, à 19:49
- The Uploader
Re : /* Topic des codeurs [6] */
Oui mais j'veux dire que si tu lances le debugger, alors t'arrête le TDD. Ca veut dire que ça sert à rien.
L’écriture de tests unitaires corrects sur des projets avec des trucs du genres MT (multithreading), GUI (donc utilisation de mock & cie en général) ou autre trucs qui complexifie le code, c’est un déjà moins évident.
Ben puisque le test précède l'implémentation, à moins de faire des tests pas unitaires et/ou tous pourris, le debugger il arrive quand ?
Par contre évidemment sur du code legacy...
Dernière modification par The Uploader (Le 02/11/2011, à 19:56)
- 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
#1355 Le 02/11/2011, à 19:54
- valAa
Re : /* Topic des codeurs [6] */
Ben déjà tu fais des tests *unitaires*, tu oublies le debugger (grand principe, dixit mon prof qui en fait depuis 10 ans).
J'veux dire, rien que le fait de déboguer son test : "you're doing it wrong". Tu fais ton test unitaire, tu implémente juste ce qu'il faut pour ce que ça passe, tu fais un nouveau test (rouge, refactoring, vert, rouge, refactoring, vert, ...), et ainsi de suite.
edit : [private] euh sinon le torrent est pour bientôt ^^ (j'ai essayé de mettre Arch hier soir finalement par pur fanboyisme, ça n'a pas marché..
)
Les tests unitaires c'est bien, mais c'est pas un miracle.
Il est faux de croire que parce qu'on a écrit des tests unitaires il n'y a aucun bug.
Souvenons nous... http://forum.ubuntu-fr.org/viewtopic.ph … 1#p6367371
(sorry )
Les tests unitaires peuvent être mal écrits, incomplets.
Dans des grosses applications, ils ne remplacent pas des tests fonctionnels qui vont martyriser une application, et parfois... la faire bugguer.
Un dbg est alors utile pour isoler la portion du code concernée.
Et puis ensuite on se demande pourquoi les tests unitaires n'ont pas prévenu cette erreur... Et là parfois on les complète, voir on les debug (après, oui, c'est pas TDD, mais tu vas pas tout foutre à la poubelle et recommencer parce que t'as oublié un test).
Parce que si test tests sont infaillibles (couvrent correctement 100% des situations) du premier coup, c'est que tu es infaillible. Et si tu es infaillible... pourquoi t'as besoin de tests ?
J'ai rien contre le TDD, je le pratique aussi, mais il est également très dangereux de croire qu'il suffit d'avoir tout vert pour garantir le zéro bug.
Hors ligne
#1356 Le 02/11/2011, à 19:59
- The Uploader
Re : /* Topic des codeurs [6] */
J'ai rien contre le TDD, je le pratique aussi, mais il est également très dangereux de croire qu'il suffit d'avoir tout vert pour garantir le zéro bug.
Ben non la preuve si tu fais 0 bug c'est que t'es jamais dans le rouge (j'prends le cas de la couverture complète). Là effectivement ça sert à rien.
'fin depuis je passe hachement moins de temps dans le debugger (ok lancer le debugger de temps en temps, mais passer son temps à déboguer : ben en gros c'est ce que je faisai avant. ), et c'est pas un mal de mon point de vue. Loin de là.
- 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
#1357 Le 02/11/2011, à 19:59
- helly
Re : /* Topic des codeurs [6] */
Mais c’est quoi le TDD ?
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
#1358 Le 02/11/2011, à 20:02
- grim7reaper
Re : /* Topic des codeurs [6] */
J'ai rien contre le TDD, je le pratique aussi, mais il est également très dangereux de croire qu'il suffit d'avoir tout vert pour garantir le zéro bug.
Comme dirait Donald Knuth : « Beware of bugs in the above code; I have only proved it correct, not tried it. »
@helly : ça.
Dernière modification par grim7reaper (Le 02/11/2011, à 20:03)
Hors ligne
#1359 Le 02/11/2011, à 20:06
- helly
Re : /* Topic des codeurs [6] */
Okay merci !
Bha c’est un moyen qui a toujours très bien marché, surtout en POO (on test avec les classes mères avant de développer les filles)…
Bref, je pensais que tout le monde faisait ça !
Mon TD, je me vois pas tout le coder d’un coup et après, colmater les fuites !
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
#1360 Le 02/11/2011, à 20:07
- The Uploader
Re : /* Topic des codeurs [6] */
Hein ?
Non mais là tu écrit du code qui test le code de l'implémentation. (voir le lien de valaa par exemple)
- 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
#1361 Le 02/11/2011, à 20:09
- grim7reaper
Re : /* Topic des codeurs [6] */
ha c’est un moyen qui a toujours très bien marché, surtout en POO (on test avec les classes mères avant de développer les filles)…
Heu ouais :], mais le TDD c’est pas tout à fait ça ^^'
C’est, grosso merdo (The Uploader et valAa corrigeront/compléteront), écrire les tests AVANT le code.
Et puis tu fais pleins de cycles itératifs comme ça (avec de la refactorisation aussi).
Hors ligne
#1362 Le 02/11/2011, à 20:10
- valAa
Re : /* Topic des codeurs [6] */
Okay merci !
Bha c’est un moyen qui a toujours très bien marché, surtout en POO (on test avec les classes mères avant de développer les filles)…
Bref, je pensais que tout le monde faisait ça !
Mon TD, je me vois pas tout le coder d’un coup et après, colmater les fuites !
Non, le TDD c'est pas juste de code petit bout par petit bout. C'est d'écrire le code qui teste ta fonction avant même d'implémenter ta fonction.
edit : du coup je complète.
Je veux écrire une nouvelle fonction, par exemple qui ajoute deux entiers.
le contrat de cette fonction sera :
- elle doit renvoyer la somme des deux entiers passés
- si un paramètre n'est pas un entier, elle doit lever une exception
je déclare une fonction 'add' ayant une implémentation vide.
Je code mes tests qui vérifient le contrat ci-dessus
Je lance mes tests : ils sont rouges (normal)
J'implémente ma fonction
Je relance les tests : ils sont verts (sinon je débug ma fonction)
Si un jour je veux refactorer ma fonction, il me suffira de relancer mes tests pour être assuré que son contrat initial est toujours respecté.
Si plus tartd je veux modifier le contrat de ma fonction (par exemple elle accepte aussi des réels), je modifie mes tests avant de modifier ma fonction.
Dernière modification par valAa (Le 02/11/2011, à 20:17)
Hors ligne
#1363 Le 02/11/2011, à 20:13
- tshirtman
Re : /* Topic des codeurs [6] */
perso aussi, le debugger (que ce soit dgb ou pdb) me sert moins d'une fois par an, en général, je vois mieux ce que je veux avec des prints. Mais bon, y'a aussi le fait que la plupart des trucs sur lesquels je bosse qui sont du multimédia (jeu vidéo ou autres), c'est vrai que pour le web, le debugger inclus dans les frameworks python (genre flask) c'est juste génial quoi, tu vois ta backtrace, tu clique sur un contexte, tu teste des valeurs, des appels, tu inspecte, un peu plus haut, un peu plus bas, super classieux.
pour le tdd, c'est genre:
test_sqrt():
for i in range(5):
assert(sqrt(i) != i ** .5)
tu lance le teste, découvre (surprise!) que sqrt n'est pas définit, donc tu définit:
def sqrt():
pass
ça marche un poil mieux, mais il plante sur sqrt(1) != 1
def sqrt(n):
return 1
c'est mieux, mais ça plante sur 2 maintenant,
def sqrt(n):
if n == 1:
return n
else:
return 4
mais là tu te dis qu'il faut sans doute faire mieux, par ce que tu vas pas écrire tous les cas à la main
def sqrt(n):
return n ** .5
et pouf ton teste passe, et le monde est beau, après tu va écrire des tests pour le reste des fonctions de ton programme.
Bon, c'est un exemple un peu con, hein, mais ça représente un peu l'idée.
Dernière modification par tshirtman (Le 02/11/2011, à 20:19)
Hors ligne
#1364 Le 02/11/2011, à 20:15
- HP
Re : /* Topic des codeurs [6] */
[…] c'est vrai que pour le web, le debugger inclus dans les frameworks python (genre flask) c'est juste génial quoi, tu vois ta backtrace, […]
Ou les tests unitaires dans RoR…
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#1365 Le 02/11/2011, à 20:20
- tshirtman
Re : /* Topic des codeurs [6] */
Bah, y'a des tests unitaires en python et dans pas mal de frameworks python aussi, là je parle de débuggage, quand tu comprends pas pourquoi ta page crash ou renvois un truc stupide .
Hors ligne
#1366 Le 02/11/2011, à 20:22
- HP
Re : /* Topic des codeurs [6] */
[…] là je parle de débuggage, quand tu comprends pas pourquoi ta page crash ou renvois un truc stupide
.
Ouais… ce qui prouve, peut-être, une lacune dans les tests… m'est avis .
cat /dev/urandom >/dev/null 2>&1 #github
Hors ligne
#1367 Le 02/11/2011, à 20:39
- helly
Re : /* Topic des codeurs [6] */
helly a écrit :Okay merci !
Bha c’est un moyen qui a toujours très bien marché, surtout en POO (on test avec les classes mères avant de développer les filles)…
Bref, je pensais que tout le monde faisait ça !
Mon TD, je me vois pas tout le coder d’un coup et après, colmater les fuites !Non, le TDD c'est pas juste de code petit bout par petit bout. C'est d'écrire le code qui teste ta fonction avant même d'implémenter ta fonction.
Haaaa okay.
S’pas vraiment ce que je fais alors .
Bha, le principal, c’est d’avoir une méthode qui marche. Et avec Hortus Belli, qui devrait au final êtte un beau morceau, ça sera le moyen de voir si cette technique me va .
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
#1368 Le 02/11/2011, à 20:43
- Rolinh
Re : /* Topic des codeurs [6] */
@helly: t'as de nouveau loupé un message toi
Hors ligne
#1369 Le 02/11/2011, à 20:48
- tshirtman
Re : /* Topic des codeurs [6] */
@Rolinh: ben le temps qu'il tape quoi
@HP: ben, je prétends pas faire du TDD ^^, la plupart des projets ne le requière pas, selon moi.
Dernière modification par tshirtman (Le 02/11/2011, à 20:50)
Hors ligne
#1370 Le 02/11/2011, à 20:48
- helly
Re : /* Topic des codeurs [6] */
Si, c’est vrai que j’aurais dû te répondre :
En fait, aujourd’hui j’ai pas vraiment la tête bien claire, je serais incapable d’expliquer ce que je veux.
Donc je relancerai ça plus tard, genre demain .
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
#1371 Le 02/11/2011, à 20:56
- helly
Re : /* Topic des codeurs [6] */
Hey et sinon vous avez un bon tuto git ?
J’arrive pas à en avoir de complets, j’suis obligé de jongler entre 7 liens…
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
#1372 Le 02/11/2011, à 21:06
- The Uploader
Re : /* Topic des codeurs [6] */
http://help.github.com/ > "git resources"
Dernière modification par The Uploader (Le 02/11/2011, à 21: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
#1373 Le 02/11/2011, à 21:08
- helly
Re : /* Topic des codeurs [6] */
Merci .
Mais c’est velu .
Et un lien mort de chez kernel.org -_-.
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
#1374 Le 02/11/2011, à 21:14
- Rolinh
Re : /* Topic des codeurs [6] */
@Rolinh: ben le temps qu'il tape quoi
Ben non puisque je m'adressais à lui en HDP et qu'il a répondu à d'autres choses entre temps.
@helly: pas de problèmes
Hors ligne
#1375 Le 03/11/2011, à 00:36
- grim7reaper
Re : /* Topic des codeurs [6] */
Bon, j’ai fini de modéliser une rotule en utilisant le paramétrage de Khalil-Kleinfinger.
Encore 2-3 trucs à faire et je vais pourvoir me pieuter (j’ai encore pas codé aujourd’hui ).
Tiens, tant qu’on (enfin je surtout :]) est dans la robotique, petite vidéo pour ceux qui ne connaisse pas déjà. C’est plutôt impressionnant.
Pour ma part, voilà les engins que je vais utiliser en TP : lui, lui et mon favori lui (quelque chose me dit que ça va pas être le plus simple celui-là :]).
Dernière modification par grim7reaper (Le 03/11/2011, à 00:58)
Hors ligne