|
|||||||
| Débats Les débats et sondages sur le langage et les technologies Java |
|
|
Publicité ' | |||||||||||||||||||||
|
|
|
Outils de la discussion |
|
|
#1 | ||||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2003 Messages : 3 293 ![]() |
Typedef, c'est permettre de créer une espèce d'alias ou de raccourcis.
Par exemple : Proposition 1 : Code :
Code :
__________________
Vincent Brabant Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide. |
||||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : juillet 2005 Messages : 92 ![]() |
Généralement on ne fait pas vraiment attention aux imports, les EDI permettent même de les masquer automatiquement, la proposition 1 risque donc d'apporter une certaine confusion à la lecture du code.
|
|
|
00
|
|
|
#3 | ||||
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Je suis plutôt pour la proposition 1, et cela permettrait de résoudre plus facilement des conflits de nom de classes.
Actuellement on est obligé d'utiliser le nom complet pour une des classes : Code :
On pourrait donc faire ceci : Code :
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||||
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 229 ![]() |
Comme osopardo, je me suis d'abord fait la réflexion que la prop 1 risque de ne pas être visible. Mais ceci dit, la prop 2 est un peu alambiquée et compliquée.
Ce qui est sûr, c'est que comme dit adiGuba, ce serait vraiment pratique. Ça fait partie des choses qui me manquent terriblement par rapport au Python, qui utilise la syntaxe de la première prop. J'ai donc voté pour la 1, en me disant que les IDE pouvaient ensuite s'adapter pour rendre la chose visible EDIT : Argghhh, beaucoup de contre |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Inscription : juin 2004 Messages : 175 ![]() |
pouah quel horreur
si des "collisions" sur les noms arrivent, il faut changer le nom de la ou des classes. cela evite que l'on nomme de la même façon 2 classes qui ont une couverture technique/fonctionnnelle différente. Déjà que trouver un nom de classe clair n'est pas simple mais en plus si on permet ça, la maintenance vas être sympa dans les années a venir...
__________________
En essayant continuellement on finit par réussir. Donc : plus ça rate, plus on a de chance que ça marche. (Jacques Rouxel : "Les shadoks") |
|
|
00
|
|
|
#6 | ||
![]() ![]() Romain LinsolasJava craftsman Inscription : juillet 2005 Messages : 3 579 ![]() |
J'ai voté contré parce que ça va clairement complexifier le code. Pour peu qu'une personne dans l'équipe définisse ses propres alias, ça va finir par être dur à lire le code.
Pour peu que l'on ait un vicieux, on va se retrouver avec des trucs complètement improbables, comme par exemple "échanger" le nom de 2 classes : Code :
Je vois toutefois 2 avantages à cette proposition : 1. Comme l'a dit adiGuba, c'est vraiment bien dans le cas où l'on importe 2 classes de même nom mais de packages différents. 2. Ca pourrait être utilisé (détourné ?) pour améliorer l'obfuscation de code Maintenant, si ça devait être implémenté, je préfèrerais la syntaxe 1 (ça fait un peu SQL, mais bon).
__________________
Nous sommes tous semblables, alors acceptons nos différences ! -------------------------------------------------------------- Liens : Blog | Page DVP | Twitter Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009 Critiques : Apache Maven |
||
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 676 ![]() |
Voté contre car, le typedef, c'est un truc que je déteste déja en C/C++, j'ai pas envie de me le retrouver en Java.
Je trouve vraiment que ça a tendence a rendre le code pas clair contrairement a son but d'original. |
|
|
00
|
|
|
#8 | |
|
Membre expérimenté
![]() |
Le cas qu'a présenté adibuga est vraiment tres rare en Java, je crois !
Citation:
je suis contre moi aussi ! protégeons notre langage
|
|
|
|
00
|
|
|
#9 | |||
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 229 ![]() |
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Expert Confirmé Sénior
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 654 ![]() |
Dans l'API standard oui... mais il y a un certain nombre de classe "Utils" dans les librairies externes
![]() a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
|
00
|
|
|
#11 | |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 229 ![]() |
Citation:
|
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Inscription : janvier 2005 Messages : 229 ![]() |
Bande de conservateurs va !
|
|
|
00
|
|
|
#13 |
![]() Consultant informatique Inscription : février 2004 Messages : 1 180 ![]() |
Plutôt pour,
Utile en cas de conflits de nom, et tu n'as pas toujours le contrôle des noms des librairies que tu utilises comme l'a dit adiGuba. Faire a l'ancienne c'est bien mais quand tu as des packages a rallonge, tu as vite des lignes de code de plus de 200 caractères et la lecture et super chaotique. [Edit] Pour la propal 1 en fait, il est normal de résoudre dans les imports les conflits .. des imports pour moi [/Edit] Bulbo
__________________
[Java] [NetBeans] [CVS] La FAQ Java Merci de ne pas me poser de questions techniques par MP. !! J'aurais voulu être une conserve !! |
|
|
00
|
|
|
#14 | ||||
|
Expert Confirmé Sénior
![]() Inscription : avril 2002 Messages : 2 676 ![]() |
Apres lecture des commentaires, je vais modérer mon avis. C'est vrai que pour résoudre des conflits de nom c'est une bonne idée, mais seulement dans ce cas la à mon avis. Or les exemples donné pour illustrer la proposition montrent clairement que ce n'est pas dans cette optique que c'est prévu d'être utilisé.
Donc je dirais ok a condition d'interdire: - les generics dans les imports - deux imports d'une même classe même avec un alias différents. Code :
Code :
|
||||
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Inscription : juillet 2006 Messages : 765 ![]() |
Quelle horreur ! On se croirait dans du SQL, back in the 70's et les pattes d'eph !
__________________
Robusta Web Library : Clients RESTful open source pour Java, Android & GWT. API Simple et Productive. Avec style. |
|
|
00
|
|
|
#16 |
![]() ![]() Inscription : septembre 2004 Messages : 1 628 ![]() |
Plutôt de l'avis d'Uther.
Je ne suis pas trop chaud mais je vais voté pour la une (surtout pour éviter que la proposition 2 soit retenue dès fois que ça passerait) |
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Inscription : janvier 2006 Messages : 2 344 ![]() |
Vu la proportion de débutants qui mettent énormément de temps à comprendre qu'il faut nommer les choses correctement pour qu'on comprenne un peu ce qu'il se passe, avec des propositions pareilles dans Java7 je vais passer 3x plus de temps à comprendre ce qui a été fait et ça ne m'enchante gère.
Pour un développeur plus expérimenté je dis pas, c'est bien pratique et j'aimerais pouvoir utiliser cette syntaxe (prop 1 ou 2 peu importe). Mais voilà, y a pas que des dev expérimentés.
__________________
Ma page dvp.com
|
|
|
00
|
|
|
#18 | ||
![]() ![]() Romain LinsolasJava craftsman Inscription : juillet 2005 Messages : 3 579 ![]() |
Je me dis que si ça passe dans Java7, il serait intéressant que les IDE mette en évidence le fait qu'une classe a un alias.
Par exemple, en proposant de mettre une couleur particulière genre : Code :
__________________
Nous sommes tous semblables, alors acceptons nos différences ! -------------------------------------------------------------- Liens : Blog | Page DVP | Twitter Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009 Critiques : Apache Maven |
||
|
00
|
|
|
#19 |
|
Membre expérimenté
![]() ![]() |
C''est la porte ouverte aux vieux demons du langage C:
import java.util.Map<String,String> as MyProperties; Non ! Java est un langage Objet et il doit le rester ! Si c'est pour économiser 3 frappes de touches, les IDE modernes sont maintenant bien présent
|
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 1 659 ![]() |
Si je comprends bien, la proposition 2, ça revient à introduire un troisième bloc préliminaire avant la classe, après le package et les imports. Pourquoi pas... Ca aurait l'avantage de la clarté, parce que la proposition 1, c'est un peu... confusant...
__________________
Les brevets ? Le type qui a inventé l'eau chaude doit être grave blindé de thunes ! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com