|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#41 | |||
|
Expert Confirmé
![]() ![]() Inscription : janvier 2006 Messages : 2 344 ![]() |
Citation:
Code :
__________________
Ma page dvp.com
|
|||
|
|
00
|
|
|
#42 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2003 Messages : 20 ![]() |
Je l'utilise beaucoup en ruby (pas rails)...
C'est tres c'est tres bon CEPENDANT Il faut faire attention aux programmeurs novices qui peuvent utiliser ca n'importe comment.... Je pense que si c'est accepter, il faudra mettre des regles claires d'utilisation dans un environnement d'entreprise pour ne pas se retrouver avec un code "crado" comme certains ont dit... Je suis assez mitige sur le point mais me laisse quand meme voter pour... Je n'ai jamais eu de vrai probleme sur d'autres languages avec ca... |
|
|
00
|
|
|
#43 |
|
Membre du Club
![]() Inscription : avril 2003 Messages : 76 ![]() |
Pas contre
Je n'ai pas encore utilisé la méthode hashCode de la classe String. En attendant, je pense utiliser cette méthode |
|
|
00
|
|
|
#44 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : octobre 2004 Messages : 4 678 ![]() |
Pour.
Et je ne voies vraiment pas d'inconvénients à ça ... |
|
|
00
|
|
|
#45 |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 688 ![]() |
Pour également la classe string est depuis le début une classe très particulière donc faire une exception de plus pour son cas ne me parait pas genant.
|
|
|
00
|
|
|
#46 |
|
Membre du Club
![]() yassine benabbasInscription : mars 2006 Messages : 82 ![]() |
Si ça apporte en plus les optimisations du switch je suis pour
|
|
00
|
|
|
#47 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 3 ![]() |
Je suis totalement pour un switch sur String, bien plus lisible qu'une série de if-else imbriqués. Le switch sur Enum de Java 5 ne permet pas de traiter tous les besoins. On peut souhaiter tester des radicaux de comptes comptables par exemple, sans que ceux-ci soient pour autant définis dans un Enum. Cela ne me parait pas crado. Quant à étendre le principe à tous les objets, je n'en mesure ni l'intérêt, ni les conséquences.
|
|
|
00
|
|
|
#48 |
|
Membre éprouvé
![]() Inscription : janvier 2005 Messages : 481 ![]() |
Je suis pour aussi il est temps de rattrapper le Cobol sur ce point !!
Pour plus de clarté dans le code.
__________________
"Most Java programs are so rife with concurrency bugs that they work only by accident" |
|
|
00
|
|
|
#49 |
|
Membre Expert
![]() ![]() |
Il y a plein de points soulevés ici surper intéressants :
* les switchs d'intervalle : pourquoi pas, ça allège les suites de case sans fin... * les switchs de String : là je suis moins pour ; je ne vois pas de cas où on ne peut les remplacer par autre chose (enum, introspection, injection de dépendances, fichier de conf, autres ?...) * les switchs généralisés : là par contre, je suis entièrement contre. Si ça amuse certains de faire des switchs en pagaille, autant faire du C. Donc je vote contre.
__________________
En premier lieu, utilisez un moteur de recherche. En second lieu, postez sur le forum adéquat ! |
|
00
|
|
|
#50 |
|
Invité régulier
![]() Inscription : septembre 2004 Messages : 6 ![]() |
Je serais même partisan de créer un nouveau mot-clé à cet effet, avec les particularités suivantes par rapport au switch:
- se base sur equals, valable pour tout type d'objet non primitif - les alternatives sont mutuellement exclusives, et ou laisse tomber la nécessité du break (d'inspiration GOTO) Note: pour ceux que ça intéresse, la structure de contrôle "cond" en Scheme est vachement mieux pensé que le switch C-like. |
|
|
00
|
|
|
#51 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 130 ![]() |
Moi, je vote pour. C'est une fonction qui m'a toujours manquée et qui sera utile à plus d'un.
__________________
Si un jour on te reproche que ton travail n'est pas un travail de professionnel, dis-toi bien que l'Arche de Noé a été construite par des amateurs et le Titanic par des professionnels... |
|
|
00
|
|
|
#52 |
|
Membre habitué
![]() Inscription : novembre 2007 Messages : 129 ![]() |
Cette proposition constituera une avancé pour le langage java.
Honetement avec un langage aussi dynamique pourquoi se limier aux entiers lors des structures switch Vive la pythonisation du java |
|
|
00
|
|
|
#53 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
contre.
L'utilisation du type String dans un switch() devrait renvoyer une erreur: "Apprenez a utiliser les enums."
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#54 |
|
Membre actif
![]() |
Oui, entièrement contre.
Cette discussion et le sondage sont intéressants : elle montre que beaucoup de gens préférent coder rapidement sans se soucier de la maintenance... |
|
|
00
|
|
|
#55 | |
|
Membre habitué
![]() Inscription : mai 2006 Messages : 156 ![]() |
Moi je vote pour
une question : Citation:
|
|
|
00
|
|
|
#56 |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Typiquement une combo-box avec { "M", "Mme", "Mlle" } et le switch() qui va avec. Si tu traduis l'IHM de ton application, tu dois également traduire le code du switch() (et ne pas te tromper en recopiant
Avec un Enum le problème disparait. Tu garde le meme code du switch() et tu as juste a traduire le toString() de l'Enum.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
00
|
|
|
#57 |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 688 ![]() |
Bah oui c'est un expemple de mauvaise utilisation mais bon, si tu veux interdire avec switch, la personne fera la même chose avec une série de if, ce qui tout aussi bête.
Si tu veux interdire tout ce qui peux potentielement être mal utilisé, autant interdire le Java. |
|
|
00
|
|
|
#58 |
|
Membre à l'essai
![]() Inscription : septembre 2006 Messages : 62 ![]() |
ça fait longtemps que j'attend cette possibilité et voilà enfin on va la trouver.
ç'était le bordel avec plusieurs "if". |
|
|
00
|
|
|
#59 | |
![]() ![]() Xavier PhilippeauArchitecte système Inscription : décembre 2006 Messages : 9 837 ![]() |
Citation:
A mon sens un switch() s'utilise avec une liste de valeurs fixes et connues "a priori" => une liste de constante => un Enum.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple. |
|
|
00
|
|
|
#60 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2006 Messages : 2 344 ![]() |
C'est très réducteur...
Un bon langage de programmation est obligé de permettre des choses crades pour pouvoir être qualifié de langage permissif et puissant. Ce n'est pas parce qu'on peut faire ("toto" == str) que c'est une bonne pratique (et que ça devrais être permis). Ce n'est pas parce qu'on peut nommer une variable ($ma_variablePourrieQuiEstNomméeComme_la_super_classe) que c'est une bonne pratique (et que ça devrais être permis). Ce n'est pas parce qu'on peut coder une classe complète sur une seule ligne que c'est une bonne pratique. etc. Le switch de String est un manque à cause de certains aspects particuliers des API Java et de l'historique du langage. L'introduire comblerait un manque mais il est clair que c'est aux programmeurs de se responsabiliser un minimum. Je trouve cet ajout bien moins problématique que les alias. Un Switch de String, même crados, restera lisible et facilement corrigeable.
__________________
Ma page dvp.com
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com