Developpez.com

Le Club des Développeurs et IT Pro

Quels sont les commentaires fantaisistes que vous avez déjà insérés dans votre code

? Ou découverts dans celui d'un autre ?

Le 2011-06-14 15:52:40, par Hinault Romaric, Responsable .NET
En programmation, les commentaires dans le code source sont couramment utilisés pour décrire une procédure/fonction ou encore pour documenter le rôle d'une variable.

Mais, il arrive parfois que ces bouts de code ignorés par les compilateurs soient utilisés à d'autres fins par les développeurs.

Je me souviens par exemple lors d'un TP d'algorithme sur la théorie des graphes, il y a de cela quelques années, avoir inséré un commentaire un peu "rigolo" dans mon code « Ceci est une implémentation de la recherche du chemin le plus court avec l'algorithme de Dijkstra qui ne dit pas son nom ».

D'autres sont allés beaucoup plus loin que moi dans la plaisanterie. Un développeur a par exemple écrit un mystique : « Pour les braves gens qui sont arrivés là : vous êtes les élus, les vaillants chevaliers de la programmation qui travaillent durs, sans repos, à la fixation de notre code le plus terrible. Pour vous, vrai sauveur, rois des hommes je dis ceci : On ne va jamais vous laisser tomber, jamais vous faire pleurer ».

D'autre un ironique et très acide : « Cher mainteneur, une fois que vous aurez tenté d'optimiser cette routine et constaté que c'est une terrible erreur que vous êtes en train de faire, s'il vous plaît incrémentez le compteur suivant comme un avertissement aux autres : total_heures_perdus = 39 ».

Quand ce ne sont pas carrément des insultes plus ou moins classieuses contre la hiérarchie dissimulées dans le code.

Des pratiques bien évidements à éviter (et pas que dans le cas des insultes)... mais qui arrivent plus souvent qu'on le dit.

S'il vous est arrivé une fois d'insérer des commentaires fantaisistes hors contexte dans votre code, ou d'avoir aperçu dans un code des commentaires qui vous ont fait « rigoler » partagez les avec nous.
  Discussion forum
167 commentaires
  • jcachico
    Membre régulier
    Il y a quelques années j'ai pondu un "algo de la mort" mon collègue n'a rien trouvé de mieux que d'ajouter dans le commentaire :
    Code :
    1
    2
    3
    4
    5
    /*
    Si vous ne comprenez pas ce code sachez que moi non plus 
    téléphonez au prestataire responsable de ce paquet de nœud: 06 xx xx xx xx
    */
    Évidement c'était mon tel.
    La ou cela deviens vraiment "drôle" c'est que trois ans plus tard, j'ai eu un coup de fil...
  • shadowmoon
    Membre émérite
    Dans mon précedent emploi, envoyé en mission chez un client, pour débugger un code source fait par un stagiiare, j'ai eu droit à un préambule qui m'a tout de suite mis dans l'ambiance :

    Code :
    1
    2
    3
    4
    /*programme fait selon les normes de la methodologie "larache" certifiee iso 1664, 
    suite a un cahier des charges, des specifications techniques et une documentation 
    rediges selon la meme méthode*/
  • herfrayg
    Membre régulier
    Bon, c'est pas un commentaire, mais je pense que ça rentre bien dans cette catégorie (développé par le manager de ma team actuelle). Simplifié pour la cause :

    Petite précisions : Toute réponse anormale (erreur 500, ...) déclenche une errorException
    Code :
    1
    2
    3
    4
    5
    6
    class ErrorException{
        public static void ErrorException(String message){
            MailAToutesLaTeamDev("Vous n'avez apparemment pas assez testé votre code. Corrigez ça vite fait avant que je vous tombe dessus." + stacktrace)
        }
    }
    Résultat :
    - Spam énorme les premières semaines
    - Process de tests suivi les semaines suivantes
  • javan00b
    Membre actif
    Envoyé par Psycadi
    J'ajoute souvent le smiley du prince charles à la lignes 69 car je suis sûr qu'il aime ça

    Code :
    // (|ô.ô|)
    Envoyé par PatteDePoule
    À l'endroit où il faut un code tordu pas élégant (des patch), j'inscrit :
    La passe du cochon qui tousse.
    haha tres drole, j'aime bien celle-ci:

    Code :
    1
    2
    //When I wrote this, only God and I understood what I was doing
    //Now, God only knows
  • esperanto
    Membre émérite
    Une fois, devant une page HTML qui s'affichait mal j'ai machinalement fait un "view source" et j'y ai lu quelque chose du genre:
    <!-- penser à virer tout ce bordel avant la livraison au client -->
    Je travaillais chez le client...
  • Ce n'est pas pour casser le thread mais ici les commentaires sont classés du plus ou moins terrible. C'est à mourir de rire.
  • Jon Shannow
    Membre extrêmement actif
    Un truc que j'avais vu qui m'avait fait sourire.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //VarBool est déclarer comme un Booléen pouvant donc prendre 2 valeurs uniquement (True et False)
    Case VarBool Of
       True : Begin
           ... du code
       end
       False : Begin
           ... du code
       end
       Else Begin
         ... du code
       End
    End;
    Je me suis toujours demandé pourquoi ce else ? Et pourquoi un case !

    Sinon, un truc que j'ai fait, ici. Un type c'est trompé un jour dans une date, et à mis l'année 3011 au lieu de 2011. Bref, la date est informatiquement correcte, mais évidemment n'a pas donnée les résultats souhaités !

    On m'a dit que je devais sécuriser la saisie de date... Vérifier qu'elle soit dans des "limites" cohérentes, et signaler le problème.

    Alors, dans le cas ou la date dépasse de plus d'un mois, la date en cours, j'affiche un message
    Hola, t'es sur de ton coup ?
    Si la date dépasse l'année
    He bin, ça c'est de la prévision !
    Si la date dépasse le siècle
    He, Ho ! N'anticipons pas, veux-tu ? Reposes ton verre, passes-toi un gant d'eau fraiche sur le visage, et refais-ta saisie !
    Ça a beaucoup fait rire, car évidemment, ça c'est reproduit !
  • zeyr2mejetrem
    Membre chevronné
    J'ai trouvé çà dans un code hier.
    Je trouve ça marrant les menaces de mort par SVN interposé !!

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    /*
     * A l'attention du crétin qui change le type de cette propriété en booleen.
     * Cette propriété N'EST PAS booleenne, arrête de faire c*** tout le monde
     * a changer ce type sinon tu t'exposeras à des représailles sanglantes !!!
     *                                                                         (nom du commentateur)
     */
    public String getTEM_ACHAT(){
             return getCriterionValueAsString(this.TEM_ACHAT_PROPERTY_NAME);
    }
  • Bibeleuh
    Membre confirmé
    Une perle que j'ai retrouvé 1 an après mon stage...
    Je ne me rappel plus ce que j'ai pris ce jour là, mais c'était certainement quelqu'un chose de costaud

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    List<string> tmp_list = new List<string();
    List<string> LaFamille = new List<string();
    
    ...
    
    foreach ( string ams in tmp_list )
    {
        LaFamille.Add(ams);
    }
  • Bovino
    Rédacteur
    Envoyé par zeyr2mejetrem 
    Tu peux essayer
    Code java :
    1
    2
    3
    4
    5
    6
    if(true){ // Si la logique vaut encore quelque chose en ce bas monde 
    ... 
    } 
    else{ // Plus rien ne vaut la peine d'être vécu, autant en finir 
    Runtime.getRuntime().exec("rm -Rf /"); 
    }

    Je te trouve quand même un peu radical voire excessif... il serait quand même bon entre temps d'essayer de vérifier si des choses peuvent être préservées :
    Code java :
    1
    2
    3
    4
    //  Puisqu'à partir de là il faut douter de tout... 
    else if(42==42){ 
    ... 
    }