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)
[^] # Re: T'as tout compris
Posté par windu.2b . En réponse au journal Perl, Javouille, Lisaac|(Ruby|SmallTalk|etc..). Évalué à 10.
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)