|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#101 | |||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Code :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|||
|
00
|
|
|
#102 | |||
|
Membre Expert
![]() ![]() Inscription : juillet 2006 Messages : 765 ![]() |
Citation:
__________________
Robusta Web Library : Clients RESTful open source pour Java, Android & GWT. API Simple et Productive. Avec style. |
|||
|
|
00
|
|
|
#103 |
|
Membre régulier
![]() Inscription : mars 2005 Messages : 142 ![]() |
oui totalement.
Mais pas plus que case "administator": case "NOz": /* ...*/ C'est un exemple basé sur une erreur de frappe en réponse à un exemple basé sur une erreur de frappe. Ne me dis pas le contraire c'était ce que je voulais montrer edit : tiens ... en quoi mon exemple est pire que le sien |
|
|
00
|
|
|
#104 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
En théorie les 2 erreurs de frappes sont équiprobables. Dans la réalité, il est plus courant de se gourer sur une suite de lettres que sur une suite de chiffres.
Reprend tous les posts de la discussion et compte le nombre de fautes/typos sur des lettres versus des chiffres.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#105 |
|
Membre régulier
![]() Inscription : mars 2005 Messages : 142 ![]() |
non mais je suis bien d'accord
C'est juste que pour moi, la faute de frappe n'est pas un argument de poids. Pour cette proposition c'est un argument mais à prendre pour ce que c'est. Et oui ça arrive plus souvent de se planter dans une chaine de caractère que dans la saisie d'un chiffre Ton exemple venait quand on discutait sur la "propreté" du code. Dans les deux cas ça reste autant dégueu. Encore une fois, une constante résout le problème (là je pense qu'il ne peut même pas y avoir débat sur ce point). Mais le problème existe autant pour les types primitifs que pour les string. C'est ce que je voulais dire. Je suis pour un utilisation décomplexée des strings |
|
|
00
|
|
|
#106 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Pour avoir mis les mains dans des appli AJAX, l'utilisation a outrance des chaînes de caractères m'a laissé un goût amer. C'est certe tres rapide et puissant, mais à debuguer/maintenir c'est une horreur.
Si le switch(String) est possible dans Java 7, j'ajouterai une nouvelle "bonne pratique" dans mon guide de developpement: Ne pas l'utiliser, sauf dans dés cas très simples pour eviter une suite de "if ("XX".equals(s)) {}".
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#107 |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Ben... C'est justement l'objectif du switch(String)
![]() a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
00
|
|
|
#108 | ||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Oui, je m'en suis apperçu en l'écrivant.
![]() Ce que je veux dire c'est de ne pas utiliser le switch(String) comme un design pattern (a la javascript). Code :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
||
|
00
|
|
|
#109 | |
|
Membre régulier
![]() Inscription : mars 2005 Messages : 142 ![]() |
Citation:
et puis ça veut dire ne pas avoir peur des les utiliser quand c'est fait de manière intelligente. Ca ne veut pas dire faire nimp |
|
|
|
00
|
|
|
#110 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 375 ![]() |
contre
l'égalité stricte de String est une problématique trop subtile pour baser une construction controlant le flux d'exécution de programmes là-dessus… |
|
|
00
|
|
|
#111 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2006 Messages : 2 344 ![]() |
Ce serait au compilateur de gérer ça correctement de toute façon en faisant un appel "mastring".equals(var) plutôt qu'un ==, ça doit pas être bien compliqué.
__________________
Ma page dvp.com
|
|
|
00
|
|
|
#112 | |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 375 ![]() |
Citation:
la distance entre les niveaux sémantiques du "switch" et de la "String" sont trop grands pour les mélanger… à la limite un "switch" sur un "char []" serait acceptable de ce point de vue… mais pas une String… (Strasse == Straße et autres joyeusetés…) |
|
|
|
00
|
|
|
#113 |
|
Invité de passage
![]() Inscription : mars 2008 Messages : 2 ![]() |
Je suis pour.
J'irais même un peu plus loin en proposant le switch pour les objets. Voir mon blog pour plus de détail (en anglais) http://www.jroller.com/agoubard/entry/switch_on_objects Anthony |
|
|
00
|
|
|
#114 | |||||
![]() ![]() Inscription : novembre 2006 Messages : 5 087 ![]() |
Citation:
Code :
Code :
Dans ton exemple, ce n'est pas en passant par un tableau de char que tu auras une égalité entre "Strasse" et "Straße" pour autant. Si encore on prenait en compte l'encodage mixe des caractères (ISO-8859-1 et UTF-8 par exemple) où effectivement il y a une différence entre 2 représentations du même mot, je comprendrais une quelconque réticence (même si dans tous les cas, les suites de "if" ne règleront pas le problème) |
|||||
|
|
00
|
|
|
#115 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Si le switch(String) utilise "String.equals()" c'est moins puissant que faire un "if Collator.compare()"
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#116 | |
![]() ![]() Inscription : novembre 2006 Messages : 5 087 ![]() |
Citation:
Ça m'intrigue, je ferai un test à l'occasion (d'ailleurs merci en passant, je ne connaissais pas Collator, ça résoudra pas mal de choses... A+ |
|
|
|
00
|
|
|
#117 | |||
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 815 ![]() |
Citation:
Code java :
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|||
|
00
|
|
|
#118 | |||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Cela pose quand même certains problèmes :
De plus cela empêche le compilateur d'effectuer les optimisations habituelles... Bref un switch case sur des objets "standards" je ne suis pas trop pour... Si il peut y en avoir une : pour les int le switch utilise un espèce de table de hashage pour améliorer les performances. On peut raisonnablement penser que ce serait la même chose pour les String... Mais je te l'accorde dans 99% des cas la différence avec des if/else ne sera pas flagrante Citation:
Comment comparer des chaînes de caractères selon la Locale ?a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|||
|
00
|
|
|
#119 | |
![]() ![]() Inscription : novembre 2006 Messages : 5 087 ![]() |
Citation:
Merci A+ |
|
|
|
00
|
|
|
#120 | |||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Citation:
Code :
a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|||
|
00
|
Copyright © 2000-2013 - www.developpez.com