Publicité
+ Répondre à la discussion Actualité déjà publiée
Page 3 sur 25 PremièrePremière 123456713 ... DernièreDernière
Affichage des résultats 41 à 60 sur 496
  1. #41
    Inactif
    Inscrit en
    février 2003
    Messages
    4 342
    Détails du profil
    Informations forums :
    Inscription : février 2003
    Messages : 4 342
    Points : 4 435
    Points
    4 435

    Par défaut

    Un truc une fois :

    Code :
    1
    2
    3
    4
    5
    6
    7
    Case une_Variable Of
       True : //Code
      False : //
      Else Case
        //Code
    End
    La variable était de type Booléen ! Le pire était qu'il y avait du code dans le Else case !

  2. #42
    Expert Confirmé Sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    3 151
    Détails du profil
    Informations personnelles :
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : décembre 2007
    Messages : 3 151
    Points : 10 326
    Points
    10 326

    Par défaut

    Citation Envoyé par sleepy2002 Voir le message
    (.../...)
    N'oublions pas que c'est en forgeant qu'on devient forgeron
    Exact. Le pire que j'ai vu a été fait par un informaticien, disons, improvisé. C'est d'ailleurs le premier code professionnel sur lequel je suis tombé. J'ai vu mieux depuis, celà va sans dire.

    contexte : une équipe d'homologation contient dans ses rangs une superbête en programmation qui fait plein de macros VB pour Excel qui facilitent grandement la vie de tout le monde. Puis la superbête se barre en mauvais termes, en effaçant une partie de ses codes. Un homologateur, jamais formé pour programmer, essaye de reprendre..... Il doit faire un traitement sur des lignes de tableau, mais c'est pas le même suivant que la valeur est alpha ou numérique.

    et ça donne un truc du genre :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    for i = 1 to 3
         (traitement alpha)
    next i
    for i = 4 to 5
         (traitement num)
    next i
    for i = 6 to 6
         (traitement alpha)
    next i
    for i = 7 to 9 
         (traitement num)
    next i
    for i = 10 to 13
         (traitement alpha)
    next i
    for i = 14 to 15
         (traitement num)
    next i
    for i = 16 to 16
         (traitement alpha)
    next i
    for i = 17 to 20
         (traitement num)
    next i
    etc.......jusqu'à la ligne 110
    les traitements étant faits dans leur intégralité à chaque fois.....et étant toujours identiques. Mais ça marchait! Quand on m'a demandé d'ajouter quelques lignes, je me suis permis d'industrialiser tout ça.....

    Mais il est effectivement difficile de jeter la pierre à quelqu'un de non formé, lâché dans un contexte ou l'aide en ligne de VB pour Excel avait été désactivée, ou internet était inaccessible, bref, ou l'auto-formation était des plus délicates.



    EDIT

    J'oubliais une autre horreur, celle-ci datant du temps ou le Cobol ne permettait pas de programmation structurée, et ou seul le GO TO permettait de faire des embranchements. Ca donnait un truc du genre :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    A1.
    MOVE 1 TO I.
    A11.
    (traitement sur I)
    ADD 1 TO I.
    IF I < 10
        GO TO A1
    END-IF.
    A121.
    MOVE 0 TO J
    A122.
    ADD 1 TO J.
    IF I < VALEUR-QUELCONQUE
        GO TO A122
    END-IF.
    En bref, du pur code spaghetti, mais à l'époque ils n'avaient pas le choix. J'ai douillé pour faire le reverse engineering.....

  3. #43
    Membre confirmé Avatar de vintz72
    Profil pro Vincent
    Inscrit en
    octobre 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Nom : Vincent
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : octobre 2005
    Messages : 154
    Points : 239
    Points
    239

    Par défaut

    Citation Envoyé par LordBob Voir le message
    Je rigolais toujours en voyant ce genre de code jusqu'à y à quelques mois où j'ai repris une application que j'ai développé y à presque 1,5 ans maintenant et ou j'ai écrit presque la même chose, mais en pire...

    Code :
    1
    2
    3
    4
    5
    6
    7
    if(1 == 1) {
        // PAS BIEN !!!
        [...]
    }
    else {
        [...]
    }
    Je me demande bien ce qui à pu me traverser l'esprit quand j'ai écrit ça! J'ai même honte de le poster ce soir...
    Ce genre de code s'explique avec les langages qui ne sont pas pourvu de directives de compilation. Par exemple en C, on fait un #if 0 #endif autour d'un bloc de code pour le désactiver (temporairement). En Java, on fait un "if (0)"... Le truc, c'est quand on le réactive pour de bon, il faut faire le ménage plutôt que laisser le "if (1)"...

  4. #44
    Expert Confirmé Sénior
    Avatar de Alain Defrance
    Homme Profil pro Alain DEFRANCE
    Project Lead
    Inscrit en
    août 2007
    Messages
    1 994
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain DEFRANCE
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Project Lead

    Informations forums :
    Inscription : août 2007
    Messages : 1 994
    Points : 4 055
    Points
    4 055

    Par défaut

    Citation Envoyé par vintz72 Voir le message
    En Java, on fait un "if (0)"...
    Compilation fail.

  5. #45
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : avril 2002
    Messages : 13 311
    Points : 21 539
    Points
    21 539

    Par défaut

    Citation Envoyé par vintz72 Voir le message
    Ce genre de code s'explique avec les langages qui ne sont pas pourvu de directives de compilation. Par exemple en C, on fait un #if 0 #endif autour d'un bloc de code pour le désactiver (temporairement). En Java, on fait un "if (0)"... Le truc, c'est quand on le réactive pour de bon, il faut faire le ménage plutôt que laisser le "if (1)"...
    En Java ce serait plutôt des if(true) ... mais je confirme que cela peut être très pratique pour activer/désactiver rapidement un petit bout de code

    De plus cela n'impacte pas le code généré :
    • Le if(false) sera complètement supprimé du code généré.
    • La condition du if(true) sera supprimé (inutile de l'évaluer), mais son contenu sera bel et bien généré dans le code (comme s'il n'y avait jamais eu de if)








    Sinon, une chose qui me titille souvent en Java, même si ce n'est pas vraiment une erreur grave : le fait de vouloir "initialiser" les objets avant de les utiliser. Par exemple :
    Code :
    1
    2
    3
    String str = new String(); // Le new est complètement inutile ici
    str = getString();


    a++

  6. #46
    Rédacteur/Modérateur
    Avatar de pseudocode
    Homme Profil pro Xavier Philippeau
    Architecte système
    Inscrit en
    décembre 2006
    Messages
    9 960
    Détails du profil
    Informations personnelles :
    Nom : Homme Xavier Philippeau
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : décembre 2006
    Messages : 9 960
    Points : 15 759
    Points
    15 759

    Par défaut

    Le célèbre convertisseur de chemin windows->unix en Java :

    Code java :
    1
    2
    3
    4
    String convertWindowsPathToUnix(String path) {
        path.replace('\\', File.separatorChar);
        return path;
    }

    Dommage que les chaines ne soient pas mutables en Java.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #47
    Membre confirmé
    Inscrit en
    mars 2007
    Messages
    259
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 259
    Points : 281
    Points
    281

    Par défaut

    Citation Envoyé par kev42100 Voir le message
    J'ai vu aussi le if(true) dans Mitaka, un logiciel astronomique de 3D temps réel ............
    Ca serait pas tout simplement un générateur de code automatique qui aurait fait ca, comme pour physx ?
    Par exemple le générateur de parseur JavaCC fait parfois des if (true).
    C'est moche mais c'est éliminé par les compilateurs heureusement

    Citation Envoyé par xtope Voir le message
    Je dis peut-être une bêtise (faut pas m'en vouloir, parfois je suis crevé après le boulot..) mais ce bout de code m'a l'air tout a fait fonctionnel.
    En Java les paramètres ne sont passés par valeur que pour les types primitifs, pour les objets c'est par référence.
    Ici donc c'est bien par référence que c'est passé.
    Non, c'est une copie de la référence originale qui est passée, donc ca pointe bien sur le même objet mais le passer à null ne va pas fermer le stream, et surtout l'appelant de cette méthode aura toujours sa référence vers le stream en question

    Sinon le truc le plus moche que j'ai vu c'était fait en php, le type devait a partir d'un serveur php récupérer des fichiers sur un serveur linux via ftp.
    Mais n'y arrivant pas, il a finalement décidé d'installer Samba sur le serveur linux et de mettre dans le code php son login/pass du domaine Windows de l'entreprise (sachant que bien sur le produit ne doit pas tourner chez nous mais chez les clients auxquels on vendra le soft )

  8. #48
    Membre éclairé Avatar de getz85
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2008
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2008
    Messages : 411
    Points : 372
    Points
    372

    Par défaut

    Citation Envoyé par Gordon Fowler Voir le message

    Quelquefois ce "pire code" n'est pas trop méchant. Il relève juste du non sens :

    Code :
    1
    2
    3
    4
    5
    6
    int length= 0;
    for(int idx = 0; idx < a.length; i++){
        length++;
    }
    System.out.println("La taille du tableau est : " + length);
    Ou comment calculer simplement la longueur du tableau à partir de la longueur ("a.length") qu'on a dès le départ...
    C'est pas ça qui m'a choqué dans ton code au début, c'est plutôt le i++

    => "i undefined variable"

  9. #49
    Candidat au titre de Membre du Club
    Inscrit en
    novembre 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 17
    Points : 10
    Points
    10

    Par défaut

    Citation Envoyé par Alain Defrance Voir le message
    Bonjour,



    C'est une facon de cacher l'implémentation. Le fait de créer cette indirection n'est pas une mauvaise pratique au contraire. Ici on voit que ca ne sert à rien, mais ca évite de refactorer ton code une fois que tu auras des modifitations à faire au moment de la récupération de tes champs post. A ce moment là tu va finir par faire pareil que lui pour factoriser ton code, sauf que tu l'auras pas prévu à l'avance. Là au moins c'est tout prêt, lui l'a prévu ...
    Oui et non, on peux aussi traiter tous les POST avec un simple foreach sur cette variable mais bon, c'est comme dans tous les langages, ya 10 mille façons de faire..

    Je pense juste que sans connaitre la totalité du programme on peux pas dire que c'est "un bout de code horrible", et après chacun sa façon de programmer, perso ca m'arrive de faire un extrait de la var $_POST pour obtenir des $p_nomduchamp (c'est toujours bon de gratter 4/5 caractères, quand ta 50 champs à traité ca fais la diff)

  10. #50
    Modérateur
    Avatar de ThomasR
    Homme Profil pro Thomas Rambaud
    Développeur Web
    Inscrit en
    décembre 2007
    Messages
    2 207
    Détails du profil
    Informations personnelles :
    Nom : Homme Thomas Rambaud
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : décembre 2007
    Messages : 2 207
    Points : 3 782
    Points
    3 782

    Par défaut

    On voit souvent des codes du genre :

    Code :
    1
    2
    3
    4
    5
    6
    7
    if(empty($var)){
        return true;
    }
    else{
        return false;
    }
    Alors que ceci équivaut à :

    Développeur, consultant.
    http://thomasrambaud.com

  11. #51
    Invité de passage
    Profil pro Jean-François Cracco
    Inscrit en
    novembre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Nom : Jean-François Cracco

    Informations forums :
    Inscription : novembre 2009
    Messages : 1
    Points : 0
    Points
    0

    Par défaut

    en 25 ans j'ai vu pas mal de choses mal écrites mais j'en ai écrit aussi pas mal
    Code :
    1
    2
    3
    4
    5
    6
    7
     if(a=1) {
    // y a de quoi se poser des questions
    }...
    else {
    //hum hum
    }
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    function Char* toto(){
    machaine  char*
    return machaine; 
    }
    
    trucchaine=toto()
    printf(truchaine)
    //dump mémoire
    avec en plus
    modifier un program
    compiler le program
    a.out modification pas prise en compte
    plus de 2 heures avant de comprendre l'utilité du PATH j'en suis pas fier

    et le meilleur
    faire un code récursif pour écrire un fonction dos de suppressions des fichiers
    compiler
    tester
    et me retrouver avec un disque vide

    donc quand je vois des erreurs de code je ne jette pas la pierre (pierre) mais j'essaye d'expliquer l'incongruité du code.

  12. #52
    Membre chevronné Avatar de Heimdal
    Inscrit en
    avril 2006
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : avril 2006
    Messages : 549
    Points : 694
    Points
    694

    Par défaut

    Une chose me revient immédiatement à l'esprit.
    Dans les méthodes de différentes classes, j'ai pu voir le blindage ultime:
    Code :
    1
    2
    3
    4
    if(this == null) {
    //envoie la sauce
    }
    Enfin bon, on a tous fait à un moment ou un autre des choses pourries... OSEF

  13. #53
    Inactif
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    3 894
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : octobre 2004
    Messages : 3 894
    Points : 4 853
    Points
    4 853

    Par défaut

    Citation Envoyé par kpouer Voir le message
    Ca serait pas tout simplement un générateur de code automatique qui aurait fait ca, comme pour physx ?
    Par exemple le générateur de parseur JavaCC fait parfois des if (true).
    C'est moche mais c'est éliminé par les compilateurs heureusement
    Yep, j'ai déjà vu ça aussi dans du code généré à partir de templates, où on va laisser un test toujours faux / vrai après (dés)activation de certains modules pour éviter un traitement du fichier un peu trop lourd à faire (= rechercher la fin du bloc notamment).

    C'est pas très joli en effet, mais si cela découle réellement d'une génération automatique de code, c'est moins nuisible. Il faut alors plutôt se poser la question de savoir pourquoi ils ne font pas travailler sur le template d'origine et/ou pourquoi ils modifient manuellement du code généré...

    Si par contre c'est du code 100% manuel, alors là, oui, c'est crade au possible... Sauf s'il y a du code mort laissé exprès pour la trace "historique" des évolutions ou du debug : tous les langages ne possèdent pas non plus de préprocesseur.

  14. #54
    Membre Expert Avatar de Jidefix
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    724
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : septembre 2006
    Messages : 724
    Points : 1 006
    Points
    1 006

    Par défaut

    Ben personnellement j'ai honte de le dire mais le pire bout de code que j'aie jamais vu ben... je crois que c'est moi qui l'ai fait

    Je l'ai remplacé depuis mais en gros c'était en java, je voulais représenter des données compliquées, triées etc. et les envoyer à une jsp pour les représenter en html. Pour une raison qui m'échappe encore aujourd'hui créer une classe répondant à mon besoin ne m'a même pas effleuré l'esprit...
    Ca a fini en imbrication de HashMap TreeMap, HashSet, et TreeSet (oui oui les quatres), à environ 8 niveaux.
    Ca marchait hein... enfin tant qu'on poussait pas trop les données à représenter :S
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  15. #55
    Membre éclairé Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2006
    Messages : 282
    Points : 307
    Points
    307

    Par défaut

    Moi j'ai vu cette déclaration de variable :

    Code :
    1
    2
    bool true = 1;
    bool false = 0;
    Véridique !

  16. #56
    pjv
    pjv est déconnecté
    Invité régulier
    Inscrit en
    janvier 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : janvier 2006
    Messages : 11
    Points : 7
    Points
    7

    Par défaut

    Dans cet exemple Java, l'objet "service" est une instance du contrat d'interface d'un web service :

    Int ExitCode = service.getUneMethodeDeMonWebService(param1, param2, etc.).getExitCode();
    List<Class> listeObjets = service.getUneMethodeDeMonWebService(param1, param2, etc.).getListeObjets();
    String attribut1 = service.getUneMethodeDeMonWebService(param1, param2, etc.).getAttribut1();
    Long attribut2 = service.getUneMethodeDeMonWebService(param1, param2, etc.).getAttribut2();
    MaClasse attribut3 = service.getUneMethodeDeMonWebService(param1, param2, etc.).getAttribut3();
    ...
    C'est performant !

  17. #57
    Rédacteur
    Avatar de Tofalu
    Homme Profil pro Christophe Warin
    Technicien maintenance
    Inscrit en
    octobre 2004
    Messages
    9 502
    Détails du profil
    Informations personnelles :
    Nom : Homme Christophe Warin
    Âge : 31
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : octobre 2004
    Messages : 9 502
    Points : 31 847
    Points
    31 847

    Par défaut

    A l'instant :

    Code :
    1
    2
    3
    4
    5
    6
    A=1
    X=1
    While x<13
    "Me.ABG" & X & ".value" = A
    A = A+1
    Wend
    • Aucune déclaration
    • La chaîne "Me.ABG" & X & ".value" est destinée à être comprise par magie à l'exectution comme la propriété d'un objet et non une chaine
    • On incrémente A et on teste X pour sortir de la boucle


    Ce message vous a été utile ? Si oui, cliquez sur

  18. #58
    Membre actif
    Inscrit en
    novembre 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 156
    Points : 185
    Points
    185

    Par défaut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public interface NombresConstantes {
    
    	/** 0 */
    	int CONST_0 = 0;
    
    	/** 1 */
    	int CONST_1 = 1;
    
    	/** 2 */
    	int CONST_2 = 2;
    
    	/** 3 */
    	int CONST_3 = 3;
    
    	/** 4 */
    	int CONST_4 = 4;
    
    	/** 5 */
    	int CONST_5 = 5;
    
    	/** 6 */
    	int CONST_6 = 6;
    
    	/** 7 */
    	int CONST_7 = 7;
    
    	/** 8 */
    	int CONST_8 = 8;
    
    	/** 9 */
    	int CONST_9 = 9;
    
    	/** 10 */
    	int CONST_10 = 10;
    /* Et ça continue jusqu'à 100*/
    }
    Déjà une une classe de constante pour référencer des nombres entiers, c'est très difficile d'y trouver un intérêt.
    Mais le pire est à venir . C'est l'usage de ces constantes dans le programme.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String[] valeurs = new String[NOMBRE_COLONNE];               
    valeurs[0] = rs.getString("ChampA");                         
    valeurs[1] = rs.getString("ChampB");                         
    valeurs[2] = rs.getString("ChampC");                         
    valeurs[NombresConstantes.CONST_3] = rs.getString("ChampD"); 
    valeurs[NombresConstantes.CONST_4] = rs.getString("ChampE"); 
    valeurs[NombresConstantes.CONST_5] = rs.getString("ChampF"); 
    valeurs[NombresConstantes.CONST_6] = rs.getString("ChampG"); 
    valeurs[NombresConstantes.CONST_7] = rs.getString("ChampH");
    On remarquera l'usage mixte de constante et de nombre pour les indices du tableau.
    Et ca continue de plus belle.
    Code :
    monBean.setChampFoncctionnel("1".equals(valeur.substring(2, NombresConstantes.CONST_3)));
    Dans une même instruction, 3 manières de représenter un nombre.

    Que s'est il passé dans la tête du développeur ?

  19. #59
    Expert Confirmé
    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    octobre 2005
    Messages
    1 687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 687
    Points : 2 941
    Points
    2 941

    Par défaut économie de place

    Il y a quelques temps, j'ai été appelé pour modifier un programme en VBA (une application Access)
    Manifestement, le mec qui avait codé voulait économiser sur les lignes de code ;
    et plutôt que d'aller à la ligne pour chaque instruction, j'ai eu droit à :
    Code :
    Dim t As Date: Debug.Print "début": t = DateAdd("s", 10, Now()): While t > Now(): Wend: Debug.Print "fini"
    Tous les modules étaient écrits comme ça (la peur des espaces blancs sans doute ).
    Le client était étonné que je mette deux jours à déboguer un truc tout con
    ·· −· −−· ·· ·−· ··− −− ·· −− ··− ··· −· −−− −·−· − ·
    · − −·−· −−− −· ··· ··− −− ·· −− ··− ·−· ·· −−· −· ··
    D'abord qu'il marche. Ensuite qu'il soit rapide. Enfin qu'il soit agréable à utiliser.
    First, make it work. Then, make it fast. Finally, make it user-friendly.
    Erst, mach', dass es funktioniert. Dann, mach', dass es schnell geht, Zum Schluss mach' es benutzerfreundlich.

  20. #60
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : mars 2004
    Messages : 624
    Points : 635
    Points
    635

    Par défaut

    En java :

    Code :
    1
    2
    3
    4
    5
    for(...) {
    StringBuffer sb = new StringBuffer() ;
    sb = new StringBuffer()
    ....
    }
    On aurait pu sortir la déclaration de la variable sb de la boucle.
    Et l'instancier deux fois de suite

    Le classic :
    Code :
    1
    2
    3
    4
    5
    6
    7
    private int longueur(List liste) {
        return liste.size();
    }
    
    private void ajouter(List liste, String chaine) {
        liste.add(chaine) ;
    }
    Ca m'étonne pas qu'on dise que Java est lent quand on voit ça

    Ah, précision, la personne était programmeuse Java depuis 5 ans

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •