• [^] # Re: T'as tout compris

    Posté par . En réponse au journal Perl, Javouille, Lisaac|(Ruby|SmallTalk|etc..). Évalué à 10.

    Et j'ajouterais que ton exemple pour comparer Perl et Java sur leur utilisation des Regexp est un peu "pas objectif" :

    if ($line =~ /(\w+)=(\d+)/ ) {
    $ident=1ドル;
    $value=2ドル;
    }


    Pattern p = Pattern.compile("(\w+)=(\d+)");

    Matcher m = p.matcher(line);

    boolean b = m.matches();

    if(b) {

    if (m.groupCount() == 2){
    ident = m.group(1);
    value = m.group(2);
    }
    }

    Même s'il fait 9 lignes (sans compter les lignes blanches) là où ton exemple en fait 4, je trouve cela bien plus lisible : les noms des classes sont tellement parlants que je sais de suite ce que je suis en train de regarder. Ce n'est pas du tout le cas (du moins pour moi qui ne connais pas Perl) avec ton exemple.
    Ensuite, dans l'exemple Java, tu utilises à rallonge la définition des variables alors qu'elles ne semblent pas te resservir plus tard... Autant raccourcir un max (si c'est le nombre de lignes de code qui importe) :

    Matcher m = Pattern.compile("(\w+)=(\d+)").matcher(line);

    if(m.matches()) {

    if (m.groupCount() == 2){
    ident = m.group(1);
    value = m.group(2);
    }
    }

    C'est plus court (mais perso, je ne trouve pas ça forcément plus lisible)