Vos pires erreurs de programmation [HS] - Programmation
Marsh Posté le 10-05-2002 à 16:33:18
C'était pendant mes études. Une amie à moi bossait sur un de nos TP de Java et je l'entendais pester depuis des heures. Elle me disait qu'elle ne comprenait pas ce qu'il se passait. Elle tentait de trouver une erreur dans un code depuis le matin mais, lorsqu'elle compilait elle avait toujours le meme problème.
En regardant un peu je me suis rendu compte qu'elle avait deux copie du meme fichier, qu'elle modifiait l'un pour compiler l'autre. Clair qu'elle n'avait pas fini à ce rythme là.
Bon voilà à vous
Marsh Posté le 10-05-2002 à 16:41:51
DarkLord a écrit a écrit : C'était pendant mes études. Une amie à moi bossait sur un de nos TP de Java et je l'entendais pester depuis des heures. Elle me disait qu'elle ne comprenait pas ce qu'il se passait. Elle tentait de trouver une erreur dans un code depuis le matin mais, lorsqu'elle compilait elle avait toujours le meme problème. En regardant un peu je me suis rendu compte qu'elle avait deux copie du meme fichier, qu'elle modifiait l'un pour compiler l'autre. Clair qu'elle n'avait pas fini à ce rythme là. Bon voilà à vous |
c toujours ce qu'on dit
Marsh Posté le 10-05-2002 à 16:43:42
non je te promets que ce n'était pas moi. Par contre j'ai fait une jolie bourde ce matin et greg peut confirmer donc si le topic marche bien je la sortirai
Marsh Posté le 10-05-2002 à 16:44:20
1e année de DUT, on bossait avec un pote sur un projet d'ASM, il devait etre vers les minuit
on developpait un pong, et on voulait mettre en place un truc tout con de changement de service au bout de X points ... 3 ou 4 algos différents, 2 heures sur le probleme, et on a jamais reussi a le faire marcher ... a s'en arracher les cheveux !
resultat : on a eu le systeme de changement de service le plus aléatoire que l'on ait jamais vu dans un pong
Marsh Posté le 10-05-2002 à 17:12:48
HappyHarry a écrit a écrit : 1e année de DUT, on bossait avec un pote sur un projet d'ASM, il devait etre vers les minuit on developpait un pong, et on voulait mettre en place un truc tout con de changement de service au bout de X points ... 3 ou 4 algos différents, 2 heures sur le probleme, et on a jamais reussi a le faire marcher ... a s'en arracher les cheveux ! resultat : on a eu le systeme de changement de service le plus aléatoire que l'on ait jamais vu dans un pong |
un jour j'ai allumé mon ordi, je voulais programmer mais je savais pas quoi. Une fois l'idée trouvée, je savais pas comment faire !!! Passionnant, non ?
[jfdsdjhfuetppo]--Message édité par juju_le_barbare le 10-05-2002 à 17:13:16--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 17:19:52
je prévois le bide intégral ...
Marsh Posté le 10-05-2002 à 17:23:12
DarkLord a écrit a écrit : je prévois le bide intégral ... |
hi hi hi !!!
[HS] Vos pires erreurs de programmation
Marsh Posté le 10-05-2002 à 17:36:36
mais bon si tu veux une vraie connerie, l'autre jour j'apporte une modif a une dl, et je pige pas pourquoi ca ne marche pas ... uen demi heure apres je me rends compte que j'avais oublié de la recompiler ...
Marsh Posté le 10-05-2002 à 18:02:25
Le truc que je fais à tous les coups en Delphi c'est:
for i := 0 to Items.Count do
begin
....
end;
À chaque coup je me tape un "List index out of bounds", vu que les index vont de 0 à Count-1.
Aujourd'hui en C++Builder je fais :
for(int i = 0; i < Items->Count-1; i++)
{
....
}
Et je me demande pourquoi il passe pas par le dernier item
Pour une fois que je n'oublie pas le -1. J'ai fait le coup 2x aujourd'hui
Sinon les autres erreurs vu que c'est plus ancien faut que je m'en souvienne...
Y a pas trop longtemps j'ai cherché trois jours pourquoi lors de l'assignation de propriétés avec SetPropValue et autres fonctions non documentées de Delphi ça me démolissait la mémoire de mes objets, mais j'utilisait SetInt64Prop (entiers 64 bits) pour assigner un Integer (entiers 32 bits), au lieu de SetOrdProp
Marsh Posté le 10-05-2002 à 18:08:45
String res = ...
if (res == "ThisCondition" )
je fais ca tout le temps
Marsh Posté le 10-05-2002 à 18:09:11
Heureusement C++Builder me prévient à tous les coups pour ce ==
Pour le string et == avec les AnsiString ça marche
[jfdsdjhfuetppo]--Message édité par antp le 10-05-2002 à 18:09:36--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 18:12:56
hola je sais plus !
je me souviens m'etre arraché les cheveux, maudit visual, balancer un kg d'obsénité a cause d'un prog plantant comme une merde pour m'appercevoir aprs 1h de furieux debug que j'avais :
class C
{
void machin();
int toto;
};
C::machin()
{
int toto;
}
la grande question etait : mais putain, pourquoi cette saloperie de variable toto part en latte comme ca ???
depuis je fais hyper gaffe a ce genre de connerie
Marsh Posté le 10-05-2002 à 18:14:55
Moi je crois que c le pire :
Je faisais un site en PHP et g fait toute la page en pascal, bon ça a été vite corrigé mais qd même lol se tromper de langage fo le faire
Marsh Posté le 10-05-2002 à 18:16:04
excellent
Marsh Posté le 10-05-2002 à 18:30:30
DarkLord a écrit a écrit : En regardant un peu je me suis rendu compte qu'elle avait deux copie du meme fichier, qu'elle modifiait l'un pour compiler l'autre. Clair qu'elle n'avait pas fini à ce rythme là. Bon voilà à vous |
ça m'est arrivé qq fois cette blague là
[jfdsdjhfuetppo]--Message édité par ethernal le 10-05-2002 à 18:31:07--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 18:48:55
HappyHarry a écrit a écrit : 1e année de DUT, on bossait avec un pote sur un projet d'ASM, il devait etre vers les minuit on developpait un pong, et on voulait mettre en place un truc tout con de changement de service au bout de X points ... 3 ou 4 algos différents, 2 heures sur le probleme, et on a jamais reussi a le faire marcher ... a s'en arracher les cheveux ! resultat : on a eu le systeme de changement de service le plus aléatoire que l'on ait jamais vu dans un pong |
Je préfère garder l'anonymat...
(mince, c'est raté !)
Mais bon, on a une excuse, il était tard.
Marsh Posté le 10-05-2002 à 19:11:28
A l'époque ou j'étais Demomaker sur Amiga. Je codais un rotozoom, et je testais cette routine sur une image de test que notre graphiste avait fait et qui représentait un gars qui chiait sur le pseudo d'un graphiste de la scène qui scannait ses images. Cette image était la seule que je possédais en 256*256, car le graphiste était en train de dessiner l'image qui aurait du finalement être incluse dans la routine.
En compilant, je me suis loupé et j'ai INCBINé la mauvaise image... On a présenté la démo, et le rotozoom s'est fait avec le gus en train de chier sur le pseudo du graphiste..... qui faisait partie des organisateurs de la party !
Je peux vous dire que quand 150 personnes ne regardent que vous, ça fait drôle....
On a finis dernier, avec 5 voix sur 150.... les notres !!!
Marsh Posté le 10-05-2002 à 19:31:11
ptdr²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
Marsh Posté le 10-05-2002 à 19:37:51
Je@nb a écrit a écrit : ptdr |
mais euhhhh !
Marsh Posté le 10-05-2002 à 19:49:40
Ben regarde la mienne c pareil mais o moins on me regarde pas
Marsh Posté le 10-05-2002 à 20:19:27
Je@nb a écrit a écrit : Moi je crois que c le pire : Je faisais un site en PHP et g fait toute la page en pascal, bon ça a été vite corrigé mais qd même lol se tromper de langage fo le faire |
pas mal en effet
Marsh Posté le 10-05-2002 à 21:17:57
pour le boulot je dois écrire une classe qui permet de partir en timeout si le write sur un stream ne fonctionne pas. En gros je déclare une thread qui fait le boulot et qui me notifie qd elle a fini. J'ai une classe qui lance cette thread et qui attend X secs. Si elle n'a pas été notifiée on considère qu'un timeout a eu lieu et une exception est levée.
Dans mon code j'avais ca
synchronized(lock) {
lock.wait(jobTimeout);
// bla bla bla
}
ou jobTimeout est un entier représentant le nombre de seconde. Ayant oublié que wait prend des msec je me demandais pq ca partait en timeout tout de suite meme qd je spécifias 60 sec
Ca c'est arrivé ce matin
[jfdsdjhfuetppo]--Message édité par DarkLord le 10-05-2002 à 21:18:41--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 21:22:51
ou bien une autre copine qui me demande le premier jour de son stage comment mettre un JTextField sur une page HTML
faut que je retrouve le mail
Marsh Posté le 10-05-2002 à 21:28:04
Moi celle où je me suis le plus arraché les cheveux ... ct la nuit pendant 4 - 5 heures !!!!!!! :
C t en javascript, comme le language web ce code assez vite (on peu faire des copier coller,...), j'avais tapé 200 lignes de codes d'un coup sans jamais faire de test. J'essayais d'avoir juste du premier coup bien sûr...
et NON malheuresement UNE SEULE erreur qui m'a scotché 5 heures dvt l'écran !
Le "compilo ie" m'indiquait qu'il manquait une parenthèse !
Je fais "Merde !! tout mais pas ca sur 200 lignes de codes !!"
Je ne vous dis pas à quel point je me suis arracher les cheveux ligne par ligne !...et non il n'en manquait pas c ca le pire je croyait que ie avait fumé ! (tests avec ctrl+b sous ultraedit pour ceux qui connaissent).
Bref j'avais abandonné...le soir en une demie heure j'ai trouvé mon erreur :
c t ds un alert : j'avais écrit: alert('Veuillez renseigner votre lieu d'étude';
c t TOUT les apostrofe a l'intérieur des alert qui foutaient leur merde !! grr
je vous dis que qd vous commencez a passer plusieurs heures dvt un pb, stopper tous allez prendre l'air...plus tard vous reprendrer la forme et trouve plus vite l'erreur !
[jfdsdjhfuetppo]--Message édité par Giz_ le 10-05-2002 à 21:33:21--[/jfdsdjhfuetppo]
Marsh Posté le 10-05-2002 à 21:32:49
Une fois j'ai affecté à une variable un "F" majuscule au lieu d'un "f" minuscule, conclusion j'y ai passé pas moins de trois jour pour trouver cette putin d'erreur (300 pages de code)...
Marsh Posté le 10-05-2002 à 21:36:57
Harkonnen a écrit a écrit : Je peux vous dire que quand 150 personnes ne regardent que vous, ça fait drôle.... On a finis dernier, avec 5 voix sur 150.... les notres !!! |
Marsh Posté le 10-05-2002 à 21:46:03
j'ai dû perdre le + de temps en assembleur :
* oubli d'initialiser certaines variables CRUCIALES à 0 en utilisant une grosse routine plusieurs fois de suite (c'était le "bon temps" des maVariable dd 0)
* oubli d'incrémenter les pointeurs dword correctement (add esi, 1 au lieu de 4 - le genre de trucs géniaux à debugger car reboot garanti à chaque fois )
en C, le classique if (a = b) au lieu de == ...
en php :
* des oublis toujours très chiants de global $variable dans une fonction pour importer des variables globales
* le plus chiant, je suis incapable de me souvenir de l'ordre des arguments pour str_replace() et explode() !!
en javascript, problèmes sur les variables input traitées comme des strings et non comme des entiers quand ce sont des entiers (d'où foirage du +, exceptions sur les stylesheets, etc. )
Marsh Posté le 10-05-2002 à 21:58:43
La classique que tout developpeur unix a deja fait : appeler son executable "test", qui est une commande unix qui existe deja et qui n'affiche rien ... une 1/2 heure a foutre des println partout pour tenter de savoir par ou passait le prog, et ou ca pouvait bien planter, avant de se rendre compte que le prog en question n'avait JAMAIS ete execute, mais a la place cette #&%$£§ de commande unix a la con.
C'etait y'a longtemps mais je me suis plus jamais fait avoir
Marsh Posté le 10-05-2002 à 22:13:52
A 4 heure du mat, à la bourre poure un projet d'étude à rendre pour le lendemain 10h, un joli petit fork récusrif sur le serveur central du centre de calcul de l'unif. Heureusement que j'avais l'indicateur d'activité sur mon écran pour killer l'appli avant le crash final.
Marsh Posté le 10-05-2002 à 22:16:37
lorill a écrit a écrit : ./test powah |
c'est aussi ce que je dis .......... maintenant
Marsh Posté le 11-05-2002 à 03:20:37
Mon pire souvenir à moi c'est d'avoir passé plusieures heures sur un prog en C ( ou plustot en C++ je suis pas sur ) qui ne marchais pas évidemment. Tout cela à coup de printf() un peu partout pour essayer de comprendre ce qui se passait avant de se rendre compte que le test et l'incrémentation avait été inversés dans un for. Depuis quelque temps j'évite ces langagues trop bas niveaux ( auquel je trouve que le Pascal fait partie aussi ) et je n'ai plus jamais eu ce genre de problème .
Enfin, pour rien que pour vous, voici une petite collection de bourdes informatiques en tout genre que j'ai trouvé sur le net :
http://www.rinkworks.com/stupid/cs_programming.shtml
Ma preferée est quand même celle du 'last'
Marsh Posté le 11-05-2002 à 03:43:35
Kristoph a écrit a écrit : Depuis quelque temps j'évite ces langagues trop bas niveaux ( auquel je trouve que le Pascal fait partie aussi ) et je n'ai plus jamais eu ce genre de problème . |
T'as arrêté de programmer quoi
Marsh Posté le 11-05-2002 à 10:09:36
Ma pire erreur aura ete de bosser sur un DEC/Ultrix pour un module ecrit en C.
Cette #@! machine initialisait a 0 toute variable non initialisée, statique ou non. C'est bien, mais beaucoup trop genereux.
Le meme module, recompile sur une becane SUN, a pas tenu longtemps a l'execution...
A+,
Marsh Posté le 11-05-2002 à 10:50:03
gizmo a écrit a écrit : A 4 heure du mat, à la bourre poure un projet d'étude à rendre pour le lendemain 10h, un joli petit fork récusrif sur le serveur central du centre de calcul de l'unif. Heureusement que j'avais l'indicateur d'activité sur mon écran pour killer l'appli avant le crash final. |
dans le même ordre d'idée un groupe une année au dessus de moi avait un TP de sécurité à rendre et ils étaient vachement en retard. Ils devaient rendre le travail lundi à la première heure et là on était vendredi. Ils travaillaient sur un serveur dans une salle fermée à clé qd tout à coup tout le monde panique parce que plus personne n'arrive à se connecter dessus. C'est là qu'un gars se lève et dis :
"j'étais en root et j'ai appellé la commande killall car je l'ai trouvé sur le net et je me demandais ce que ca ferait, c'est grave"
le travail a bien entendu été rentré en retard
Marsh Posté le 10-05-2002 à 16:31:47
Je ne sais pas si ca va etre un bide total mais je me souviens d'un topic sur bla bla trop fort "les pires moments de votre vie". Je ne suis pas persuadé que ce soit aussi marrant donc si je me plante complètement, laissez tomber ce topic dans les abîmes du forum sans pitié.
Au moins j'aurai essayé.
Le but ici est de raconter vos expériences en progra. Je commence avec une assez chouette.
---------------
Just because you feel good does not make you right