IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

Le pire bout de code que vous ayez vu

  1. #261
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 25
    Points : 34
    Points
    34
    Par défaut
    J'ai droit à des trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DecodeDate(IncDay(StrToDate(IBQuery->FieldByName("REPROCALC_DatDerIaVel")->AsString),m_DureeGest.ToInt()),year,month,day);
    Just Modeste.
    --

  2. #262
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Just Modeste Voir le message
    J'ai droit à des trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DecodeDate(IncDay(StrToDate(IBQuery->FieldByName("REPROCALC_DatDerIaVel")->AsString),m_DureeGest.ToInt()),year,month,day);
    c'est vrai que c'est moche mais c'est amusant de faire un max de choses en 1 ligne

    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elc = string.Join(";", Array.ConvertAll<char, string>(elc.ToCharArray(), new Converter<char, string>(delegate(char un_char) { return un_char.ToString(); })));
    pour insérer un ; entre chaques caractère de elc

  3. #263
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Citation Envoyé par seebz Voir le message
    Je suis tombé sur ça récemment, sur une application payante :

    (fichier inclus sur toutes les pages)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (isset($_GET)) { extract($_GET); }
    if (isset($_POST)) { extract($_POST); }
    if (isset($_SESSION)) { extract($_SESSION); }
    if (isset($_SERVER)) { extract($_SERVER); }
    if (isset($_ENV)) { extract($_ENV); }
    if (isset($_COOKIE)) { extract($_COOKIE); }
    if (isset($_FILES)) { extract($_FILES); }
    if (isset($_REQUEST)) { extract($_REQUEST); }

    ailleurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SESSION['xxxx_admin']) {

    et encore plus loin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $file_type = $_FILES['uploadedfile']['type']; 
    $allowed_ext = array('image/pjpeg','image/gif','image/jpeg');
    if(in_array($file_type, $allowed_ext)){
    très franchement je comprend pas où est le problème... ok c'est pas le meilleur code du monde mais il n'y a ni faute grave ni erreur syntaxique ni quoi que ce soit
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  4. #264
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    très franchement je comprend pas où est le problème... ok c'est pas le meilleur code du monde mais il n'y a ni faute grave ni erreur syntaxique ni quoi que ce soit
    La faute grave serait la sécurité. Le code est calamiteux de ce point de vue là

  5. #265
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    j'ai moi même fait un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for(i = 0; i <=1; i++)
    {
        //traitement
    }
    Y a un truc que je n'avais pas encore compris :o

  6. #266
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ben quoi? C'est une façon parfaitement OK de faire quelque chose deux fois...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #267
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Ben quoi? C'est une façon parfaitement OK de faire quelque chose deux fois...
    je suis d'accord ça évite un copier coller d'un code, et en plus tu peux te servir de l'indice pour subtilement modifier le traitement sur la seconde passe
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  8. #268
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Points : 184
    Points
    184
    Par défaut Même en html, il y en a qui ont du mal à s"en sortir
    Un grand développeur de sites webs (sous macromedia) mais un jour, devant le Bloc note il ns a vraiement mis d'accord qu'il était fou avec ces lignes!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    <head><title color="red">Une page sous bloc note</title>
    </head>
    <center>
    <body>
    Voici que la page est centré
    </body>
    </center>
    </html>
    Comme c'est surieux de colorer le titre d'une page!

  9. #269
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 324
    Points
    4 324
    Par défaut
    Citation Envoyé par tresorunikin Voir le message
    Un grand développeur de sites webs (sous macromedia) mais un jour, devant le Bloc note il ns a vraiement mis d'accord qu'il était fou avec ces lignes!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html>
    <head><title color="red">Une page sous bloc note</title>
    </head>
    <center>
    <body>
    Voici que la page est centré
    </body>
    </center>
    </html>
    Comme c'est surieux de colorer le titre d'une page!
    Rho faudrait lui expliquer ce que c'est de la validation XML
    http://alaindefrance.wordpress.com
    Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
    SDE at BitTitan

  10. #270
    ILP
    ILP est déconnecté
    Membre confirmé
    Avatar de ILP
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Mai 2002
    Messages
    258
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 258
    Points : 609
    Points
    609
    Par défaut
    Citation Envoyé par Alain Defrance Voir le message
    Rho faudrait lui expliquer ce que c'est de la validation XML
    D'un point de vue XML, ce qu'il a écrit est correct en "standalone". Mais du point de vue HTML ou xHTML, c'est l'horreur .

  11. #271
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par ILP Voir le message
    D'un point de vue XML, ce qu'il a écrit est correct en "standalone". Mais du point de vue HTML ou xHTML, c'est l'horreur .
    d'un certain coté si j'ai bien compris ce développeur a l'habitude d'utiliser un outils pour générer ses pages. il est probable qu'il n'ai pas regardé le code (généré) de près depuis longtemps d'où son erreur. Comme quoi savoir comment marche son outil de travail et ce qu'il y'a en dessous peu aider dans les cas extrême ou tu te retrouve en slip a coder au bloc note à ne pas faire certaines erreurs..
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  12. #272
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Mais tout de même, colorer le titre en rouge, à quoi pensait-il ?

    Espérait-il obtenir ça ?

  13. #273
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    Oh moi j'en ai une pas mal....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    unsigned int hachage(char* p){
       unsigned int h=0,g;
       for(;*p;p++){
          h=(h<<4)+*p;
          if((g=h&0xf0000000)){
             h=h^(g>>24);
             h=h^g;
          }
       }
       return 0;
    }
    Un pote travaillait sur un projet utilisant une fonction de hachage... Il l'ecrit et se rend compte que quelque soit la valeur... elle retournait 0 tout le temps... Et 1 Heure après on arrive dans la salle, on le voit enervé un max, et on lui dit :

    Ben c'est logique

    Vous avez vu pourquoi

  14. #274
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par Haegemonia Voir le message
    Oh moi j'en ai une pas mal....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    unsigned int hachage(char* p){
       unsigned int h=0,g;
       for(;*p;p++){
          h=(h<<4)+*p;
          if((g=h&0xf0000000)){
             h=h^(g>>24);
             h=h^g;
          }
       }
       return 0;
    }
    cela s'appelle une faute d'étourderie..... un oeil neuf la voit facilement le gars qui l'a développé se fait avoir par son cerveau qui ne veux pas voire la connerie dans le fichier car ce dernier pense que le code est comme il est dans la tête.....

    mine de rien elle font souvent perdre du temps celles là
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  15. #275
    Membre averti
    Homme Profil pro
    Buisint
    Inscrit en
    Septembre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Buisint

    Informations forums :
    Inscription : Septembre 2008
    Messages : 220
    Points : 438
    Points
    438
    Par défaut
    Citation Envoyé par monsieurben Voir le message
    J'ai bossé avec un presta tellement nul que je sais pas trop quel bout de code choisir.

    J'ai eu droit à celui-ci, plutôt pas mal :

    Dans une page de traitement d'un formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    
    $nom = post('nom');
    $prenom = post('prenom');
    [...]
    Et dans un fichier inclus, ladite fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    function post($var) {
    return $_POST['$var'];
    }
    La fonction ne servait strictement à rien, mais elle était consciencieusement appliquée à tous les champs de tous les formulaires (plus de 500 champs)...
    Perso, j'y vois un intérêt certes atténué par le chercher/remplacer :
    en cas de modification du nom du tableau, on ne le change qu'une fois sans risque d'oublier une affectation dans un include quelconque... si j'ai bien compris.

  16. #276
    Futur Membre du Club
    Profil pro
    Analyste programmeur
    Inscrit en
    Juin 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Juin 2008
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Quelques perles en delphi
    Mode séquentiel en Pascal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var
      idx:integer;
    begin
      for idx:=1 to 10 do
      begin
        case idx do
        1:begin.....end;
        2:begin.....end;
    // et ainsi de suite, un traitement pour chaque valeur de idx
        10:begin...;end;
        end;
      end;
    J'ai supposé que c'était conçu pour distraire le mainteneur...

    J'ai trouvé aussi quelques techniques que l'on pourrait qualifier, comme dire, de "différentes" :

    Exemple 1 : Qu'est ce qu'une variable ?

    Une procédure longue (300 lignes environs) qui au début du traitement stocke un premier résultat dans un champ d'une table de paramètres d'un SGBD.
    Jusque là, tout va presque bien.
    Quelques dizaines de lignes plus loin, la même procédure lit la valeur de ce champ, pour effectuer un nouveau traitement.

    Passons sur le fait que cette procédure était monstrueuse. Le plus drôle (??) c'est que ce paramètre en SGBD n'était utilisé que dans cette procédure.



    Exemple 2 : Comment faire un ping en delphi 3 sur win 9x ?

    1 - ouvrir un fichier texte en écriture
    2 - dans ce fichier écrire le source d'un batch qui va appeler la commande ping "adresse" > resultat.txt
    3 - lancer le batch par createprocess
    4 - charger le fichier resultat.txt
    5 - interpréter correctement le texte de resultat.txt

    Tout ça au lieu d'utiliser la fonction qui va bien dans icmp.dll

  17. #277
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Vu récemment :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IF w_scan LIKE 'd%' -- w_scan commence par 'd'
    BEGIN
    	IF substring(w_scan, 1, 1) <> 'd' -- si w_scan ne commence pas par d
    		-- Erreur
     
    	w_allee =  w_allee2
    	w_prof = w_prof2
     
    	IF w_allee = w_allee2 AND w_prof = w_prof2 AND w_scan LIKE 'd%'
    		-- Suite traitement
    END

    Code qui pourrait tout simplement s'écrire

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    IF w_scan LIKE 'd%' -- w_scan commence par 'd'
    BEGIN
    	w_allee =  w_allee2
    	w_prof = w_prof2
     
    	-- Suite traitement
    END

    C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

    Installation de Code::Blocks sous Debian à partir de Nightly Builds

  18. #278
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Wow, le retour du for-case paradigm!
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  19. #279
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Points : 186
    Points
    186
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $retour_messages=mysql_query("selet * from matable";
    			if(isset($_GET['Sort']))	{			   
    		switch($_GET['Sort']){
    					case('last') echo " ORDER BY lastname";
    								break;					
    					default: echo " ORDER BY firstname";
    					}
    			}
    else {echo " ORDER BY firstname";}." LIMIT ".$premiereEntree.", ".$messagesParPage."");


    Question : "mon script a une erreur ?"


    J'en ai encore des frissons

  20. #280
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2006
    Messages
    519
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 519
    Points : 1 104
    Points
    1 104
    Par défaut
    Il a cru utiliser un langage fonctionnel (pour parler de ce que je connais, dans OCaml, Erlang et Haskell, les if/then/else et l'équivalent des switch renvoient bien une valeur)

Discussions similaires

  1. Quel est le pire bout de code que vous ayez jamais écrit ?
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 61
    Dernier message: 31/10/2011, 12h18
  2. Quelle est la plus grosse erreur de programmation que vous ayez jamais commise ?
    Par Katleen Erna dans le forum Débats sur le développement - Le Best Of
    Réponses: 138
    Dernier message: 03/08/2011, 23h38
  3. Petit bout de code que je ne saisis pas trop
    Par MeTaLCaM dans le forum C#
    Réponses: 5
    Dernier message: 03/12/2009, 00h07
  4. [Vos débuts] Quel est le premier langage que vous ayez appris ?
    Par Commodore dans le forum La taverne du Club : Humour et divers
    Réponses: 171
    Dernier message: 02/02/2007, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo