Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1652 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  21810  21811  21812  ..  27190  27191  27192  27193  27194  27195
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2271147
DDT
Few understand
Posté le 09-12-2015 à 00:57:53  profilanswer
 

Reprise du message précédent :

el muchacho a écrit :


Il doit se retourner dans sa tombe, ils sortent que de la merde depuis qu'il est mort.


Il avait des idées de merde aussi hein. :o
Apple vend clairement plus d'iPhones depuis qu'il est plus là pour décider de la taille de leurs écrans.


---------------
click clack clunka thunk
mood
Publicité
Posté le 09-12-2015 à 00:57:53  profilanswer
 

n°2271148
Volkhen
Posté le 09-12-2015 à 06:31:54  profilanswer
 

sligor a écrit :


 
 
100$ le truc moche vendu d'habitude par les chinois à 20$ [:hello gromit]


Vu les résultats de test canard-pc sur les alims chinoises pour téléphone, il peut être utile d'éviter les trucs les moins cher. Certe le matos Apple est trop cher, mais le chinois avec un courant dégeulasse, du plastique qui flambe bien et 0 protection c'est con. Surtout pour brancher sur un appareil à plus de $600.


---------------
Main/Alt1/Alt2/Alt3
n°2271149
Volkhen
Posté le 09-12-2015 à 06:32:45  profilanswer
 
n°2271150
nraynaud
lol
Posté le 09-12-2015 à 07:01:10  profilanswer
 

gfive a écrit :

A Toulouse ils doivent l'avoir très mauvaise quand même, sur le découpage régional qui les mets avec les neuneus des POs/Aude/Hérault :o


À Montpellier toute la chaîne exécutive du maire au président de la république était à gauche.


---------------
trainoo.com, c'est fini
n°2271152
Dion
Acceuil
Posté le 09-12-2015 à 07:39:59  profilanswer
 

Citation :

Élections régionales : Cyril Hanouna appelle à voter dimanche


 
[:dawa]


---------------
It is not called show art
n°2271153
gfive
Posté le 09-12-2015 à 08:28:48  profilanswer
 

nraynaud a écrit :


À Montpellier toute la chaîne exécutive du maire au président de la république était à gauche.


 
ouais, enfin les scores dans les départements cités sont sans appel, hein.
 
21.32% à Montpellier, certes, mais :
 
Hérault : 35.9% contre 16.83 aux socialistes.
Aude : 37.07 contre 25.98
PO : 41.07 contre 19.°8
Gard : 40.64 contre 17.64
 
Ailleurs le FN fait dans les 25%.
 
Contre 17.24% à Toulouse.
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271154
nraynaud
lol
Posté le 09-12-2015 à 08:43:30  profilanswer
 

gfive a écrit :


 
ouais, enfin les scores dans les départements cités sont sans appel, hein.
 
21.32% à Montpellier, certes, mais :
 
Hérault : 35.9% contre 16.83 aux socialistes.
Aude : 37.07 contre 25.98
PO : 41.07 contre 19.°8
Gard : 40.64 contre 17.64
 
Ailleurs le FN fait dans les 25%.
 
Contre 17.24% à Toulouse.
 


au lieu de faire malin à faire des stats avec des nombres, tu ferais mieux de réviser ton pas de l'oie toi ...


---------------
trainoo.com, c'est fini
n°2271157
gfive
Posté le 09-12-2015 à 09:15:37  profilanswer
 

nraynaud a écrit :


au lieu de faire malin à faire des stats avec des nombres, tu ferais mieux de réviser ton pas de l'oie toi ...


 
Dans mon coin le FN est troisième à moins de 20%. Je vais donc lancer un mouvement de séparatimsmse.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271158
nraynaud
lol
Posté le 09-12-2015 à 09:28:48  profilanswer
 

séparatisme, c'est le mot codé pour terrorisme ?


---------------
trainoo.com, c'est fini
n°2271159
Plam
Bear Metal
Posté le 09-12-2015 à 09:29:18  profilanswer
 

nraynaud a écrit :

séparatisme, c'est le mot codé pour terrorisme ?


 
Ça dépend si t'es soutenu ou pas par BHL :o


---------------
Spécialiste du bear metal
mood
Publicité
Posté le 09-12-2015 à 09:29:18  profilanswer
 

n°2271160
flo850
moi je
Posté le 09-12-2015 à 09:34:37  profilanswer
 

nraynaud a écrit :

séparatisme, c'est le mot codé pour terrorisme ?


il est catho, ce ne sera pas du terrorisme
Au pire un mouvement sectaire, au mieux l'oeuvre d'un déséquilibré


---------------

n°2271161
gfive
Posté le 09-12-2015 à 09:37:39  profilanswer
 

flo850 a écrit :


il est catho,  


 
[:sombrero67]


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271162
masklinn
í dag viðrar vel til loftárása
Posté le 09-12-2015 à 09:38:58  profilanswer
 

uriel a écrit :

pour les controles de frontieres a l'interieur des etats (genre Arizona et leur lois debiles), ca se justifie. Pour filmer dans une salle au tribunal, c'est n'importe quoi. et son explication sur sa personne et son identite, au secours :D


Non mais /r/amibeingdetained, ce sont les types qui conduisent sans permis et déclarent qu'ils se déplacent donc ils peuvent.


C'est bien mais pas aussi bien :o


Message édité par masklinn le 09-12-2015 à 09:40:14

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2271170
gfive
Posté le 09-12-2015 à 10:50:39  profilanswer
 

Un collègue vient de me partager ça :
 

Code :
  1. /**
  2.     * Cette méthode permet de construire un string reprenant tous les éléments de la liste passée en paramétres en appelant la méthode spécifiée pour récupérer
  3.     * la representation "string" de l'objet en question.
  4.     */
  5.    public static String lineariseList(List list, String separator, String method) {
  6.        StringBuilder stringBuilder = new StringBuilder();
  7.        if (list != null) {
  8.            for (Object obj : list) {
  9.                if (!stringBuilder.toString().equals("" )) {
  10.                    stringBuilder.append(separator);
  11.                }
  12.  
  13.                try {
  14.                    Method toString = obj.getClass().getMethod(method, (Class[]) null);
  15.                    String representation = (String) toString.invoke(obj, (Object[]) null);
  16.                    stringBuilder.append(representation);
  17.                } catch (SecurityException e) {
  18.                    logger.error(e.getMessage(), e);
  19.                } catch (NoSuchMethodException e) {
  20.                    logger.error(e.getMessage(), e);
  21.                } catch (IllegalArgumentException e) {
  22.                    logger.error(e.getMessage(), e);
  23.                } catch (IllegalAccessException e) {
  24.                    logger.error(e.getMessage(), e);
  25.                } catch (InvocationTargetException e) {
  26.                    logger.error(e.getMessage(), e);
  27.                }
  28.            }
  29.        }
  30.        return stringBuilder.toString();
  31.    }


 
Autant de WTF dans si peu de lignes,; c'est presque beau


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271172
nraynaud
lol
Posté le 09-12-2015 à 11:01:16  profilanswer
 

mais c'est un stagiaire non encadré qui a sorti ça ?


---------------
trainoo.com, c'est fini
n°2271173
gfive
Posté le 09-12-2015 à 11:06:44  profilanswer
 

nraynaud a écrit :

mais c'est un stagiaire non encadré qui a sorti ça ?


 
Aucune idée, c'est un projet qu'il analyse pour voir comment on pourrait le remettre sur les rails.
 
Il m'a montré les graphes de dépendances, c'sst assez funky.
 
Il est obligé de "deviner" un peu : en fait chaque war porte ses libs (mais pas avec un maven like ou autre, elles sont "versionnées" dans l'un des 240 repos Git du bloubi-boulga), mais les libs partagées sont dans le répertoire lib du serveur.
 
Donc t'as des risques de pas avoir la même lib au build et à l'exécution :) Donc ça marche pas super.
 
Mais déjà dans le concept : il y a un portail WPS, et des applis JavaWS dans les portlets.. Lesquelles applis ouvrent des connexions vers la DB ;)
 
 
 
Là, je lui ai demandé de voir combien de fois cette méthode était appelée avec autre chose que "toString" en dernier paramètre. Ca va être le fnu.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271174
___alt
Posté le 09-12-2015 à 11:11:14  profilanswer
 

Bordel de merde [:zirk]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2271175
nraynaud
lol
Posté le 09-12-2015 à 11:15:34  profilanswer
 

gfive a écrit :


 
Aucune idée, c'est un projet qu'il analyse pour voir comment on pourrait le remettre sur les rails.
 
Il m'a montré les graphes de dépendances, c'sst assez funky.
 
Il est obligé de "deviner" un peu : en fait chaque war porte ses libs (mais pas avec un maven like ou autre, elles sont "versionnées" dans l'un des 240 repos Git du bloubi-boulga), mais les libs partagées sont dans le répertoire lib du serveur.
 
Donc t'as des risques de pas avoir la même lib au build et à l'exécution :) Donc ça marche pas super.
 
Mais déjà dans le concept : il y a un portail WPS, et des applis JavaWS dans les portlets.. Lesquelles applis ouvrent des connexions vers la DB ;)
 
 
 
Là, je lui ai demandé de voir combien de fois cette méthode était appelée avec autre chose que "toString" en dernier paramètre. Ca va être le fnu.


 
J'ai l'impression que c'est le genre de projet où tu peux avoir un impact violent super vite.


---------------
trainoo.com, c'est fini
n°2271180
masklinn
í dag viðrar vel til loftárása
Posté le 09-12-2015 à 11:20:20  profilanswer
 

gfive a écrit :

Un collègue vient de me partager ça :

 
Code :
  1. /**
  2.     * Cette méthode permet de construire un string reprenant tous les éléments de la liste passée en paramétres en appelant la méthode spécifiée pour récupérer
  3.     * la representation "string" de l'objet en question.
  4.     */
  5.    public static String lineariseList(List list, String separator, String method) {
  6.        StringBuilder stringBuilder = new StringBuilder();
  7.        if (list != null) {
  8.            for (Object obj : list) {
  9.                if (!stringBuilder.toString().equals("" )) {
  10.                    stringBuilder.append(separator);
  11.                }
  12.  
  13.                try {
  14.                    Method toString = obj.getClass().getMethod(method, (Class[]) null);
  15.                    String representation = (String) toString.invoke(obj, (Object[]) null);
  16.                    stringBuilder.append(representation);
  17.                } catch (SecurityException e) {
  18.                    logger.error(e.getMessage(), e);
  19.                } catch (NoSuchMethodException e) {
  20.                    logger.error(e.getMessage(), e);
  21.                } catch (IllegalArgumentException e) {
  22.                    logger.error(e.getMessage(), e);
  23.                } catch (IllegalAccessException e) {
  24.                    logger.error(e.getMessage(), e);
  25.                } catch (InvocationTargetException e) {
  26.                    logger.error(e.getMessage(), e);
  27.                }
  28.            }
  29.        }
  30.        return stringBuilder.toString();
  31.    }
 

Autant de WTF dans si peu de lignes,; c'est presque beau


Chais pas, à part le check du stringbuilder vide c'est plus l'idée de base qui est problématique, si on considère qu'elle est valable (parce qu'on vient d'un langage avec des HoF toussa) et qu'on est en Java < 8 l'implémentation semble pas illogique, c'est pas comme si les generics de java pouvaient te sauver le cul et demander une Method en entrée ca rend l'appel tout merdique.

gfive a écrit :

Aucune idée, c'est un projet qu'il analyse pour voir comment on pourrait le remettre sur les rails.

 

Il m'a montré les graphes de dépendances, c'sst assez funky.

 

Il est obligé de "deviner" un peu : en fait chaque war porte ses libs (mais pas avec un maven like ou autre, elles sont "versionnées" dans l'un des 240 repos Git du bloubi-boulga), mais les libs partagées sont dans le répertoire lib du serveur.

 

Donc t'as des risques de pas avoir la même lib au build et à l'exécution :) Donc ça marche pas super.


 [:baragor]

gfive a écrit :

Là, je lui ai demandé de voir combien de fois cette méthode était appelée avec autre chose que "toString" en dernier paramètre. Ca va être le fnu.


Ouais mais non ça c'est la sécurité de l'emploi, on te dit que c'est lent, tu special-case "toString" pour faire directement un sb.append(obj) et paf tu sauves la boite [:kbchris] (et ça te laisse encore la réification du sb à chaque tour de boucle pour la prochaine fois)

Message cité 1 fois
Message édité par masklinn le 09-12-2015 à 11:23:59

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2271183
gfive
Posté le 09-12-2015 à 11:25:51  profilanswer
 

nraynaud a écrit :


 
J'ai l'impression que c'est le genre de projet où tu peux avoir un impact violent super vite.


 
Clairement. Enfin, vu l'ampleur du merdier, il faut quand même faire un peu attention parce que les effets de bords peuvent être difficiles à maîtriser, et que malgré tout "ça marche" :o
 
Mais sur mon projet principal qui est un peu du même tonneau, je suis passé de 55 k lignes à 38 k lignes, et ça marche mieux qu'avant (et on doit pouvoir sans problème enlever encore du gras, mais bon, y'a 15 k lignes qui sont des JSP et du mapping qu'on va dégager quand on refera l'IHM, donc voilà)
 
 
La vraie question, c'est comment des clients se font refourguer de la merde pareille, alors qu'ils sont sensés avoir des exigences de qualité dans le contrat.
 
La réponse, c'est en partie que les mecs chargés de contrôler la qualité sont des neuneus équipés d'outils de merde qu'ils ne font pas passer assez souvent (genre sur mon appli, c'est du CAST une fois par an au max, avec le set de règles génériques pour le JEE appliqué partout, mêem aux batchs), que en plus, ils ne font jamais faire de revue de code ou d'architecture.  
 
Il serait assez intéressant de chiffrer le coût de cette non qualité, mais bon.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271184
gfive
Posté le 09-12-2015 à 11:27:49  profilanswer
 

masklinn a écrit :


Chais pas, à part le check du stringbuilder vide c'est plus l'idée de base qui est problématique, si on considère qu'elle est valable (parce qu'on vient d'un langage avec des HoF toussa) et qu'on est en Java < 8 l'implémentation semble pas illogique, c'est pas comme si les generics de java pouvaient te sauver le cul et demander une Method en entrée ca rend l'appel tout merdique.
 
 [:baragor]  
 
Ouais mais non ça c'est la sécurité de l'emploi, on te dit que c'est lent, tu special-case "toString" pour faire directement un sb.append(obj) et paf tu sauves la boite [:kbchris] (et ça te laisse encore la réification du sb à chaque tour de boucle pour la prochaine fois)


 
bah déjà la recherche de al méthode à chaque tour de boucle, c'est sympa aussi.
Le catch de Exception ou autre super-classe à la place de tout le merdier aussi, sans parler de StringUtils.join(..) par exemple, mais bon :o


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271186
DDT
Few understand
Posté le 09-12-2015 à 11:37:30  profilanswer
 

gfive a écrit :


 
bah déjà la recherche de al méthode à chaque tour de boucle, c'est sympa aussi.


Les objets de la liste sont censés être du même type?
Je comprends pas du tout l'utilité du truc mais je vois pas comment implémenter ça proprement (à part dans un lisp...)


---------------
click clack clunka thunk
n°2271188
___alt
Posté le 09-12-2015 à 11:44:38  profilanswer
 

Y'a des tonnes de moyens de faire mieux que ça, le plus propre sans Java 8 étant d'appeler toString(). Si jamais tu peux pas, parce que toString() a une autre sémantique que la tienne, y'a ça :  
 

Code :
  1. public interface Representable {
  2.    String representation();
  3. }


 
Et ta méthode devient (sans utiliser de dépendance)
 

Code :
  1. public static String representation(List<Representable> elements, String separator) {
  2.    if (elements == null) {
  3.        return "";
  4.    }
  5.  
  6.    StringBuilder representations = new StringBuilder();
  7.    for (Representable element : elements) {
  8.        if (representations.length() > 0) {
  9.            representations.append(separator);
  10.        }
  11.        representations.append(element.representation());    
  12.    }
  13.  
  14.    return representations.toString();
  15. }


 
D'habitude je préfère éliminer les nulls et null checks à la con, avec du @Nonnull et des Preconditions.checkArgument(elements != null) (Google Preconditions). Et j'aurais fait un StringUtils.join() de liste.
 
Et fait ça en Java 8 :  
 

Code :
  1. public static String representation(List<Representable> elements, String separator) {
  2.    checkArgument(elements != null)
  3.  
  4.    return representations.stream()
  5.        .map(Representable::representation)
  6.        .collect(Collectors.joining(separator);
  7. }


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2271191
flo850
moi je
Posté le 09-12-2015 à 11:55:46  profilanswer
 

https://www.linkedin.com/pulse/mong [...] hn-de-goes trop fort chez mongo :/
 
j'ai une idée pour le connecteur BI, y a ka tout pousser dans un postgres et ça roule


---------------

n°2271192
___alt
Posté le 09-12-2015 à 11:57:46  profilanswer
 

Ah et sinon gfive, récupérer l'objet Method doit être fait dans la boucle parce que la liste peut contenir des objets hétérogènes.

 

Mais en utilisant son equals pourri au lieu de length() > 0, il instancie une String à chaque itération, pour rien [:bien]
Alors qu'on utilise des StringBuilders pour éviter ça, justement [:rofl]

Message cité 2 fois
Message édité par ___alt le 09-12-2015 à 11:58:07

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2271194
gfive
Posté le 09-12-2015 à 12:01:34  profilanswer
 

DDT a écrit :


Les objets de la liste sont censés être du même type?
Je comprends pas du tout l'utilité du truc mais je vois pas comment implémenter ça proprement (à part dans un lisp...)


 

___alt a écrit :

Ah et sinon gfive, récupérer l'objet Method doit être fait dans la boucle parce que la liste peut contenir des objets hétérogènes.
 
Mais en utilisant son equals pourri au lieu de length() > 0, il instancie une String à chaque itération, pour rien [:bien]
Alors qu'on utilise des StringBuilders pour éviter ça, justement [:rofl]


 
Effectivement, je me suis tellement habitué aux Generics que j'ai oublié qu'il pouvait construire une liste hétérogène.
 
Mais bon, en pratique, c'est complètement con dans la mesure où on utilisera ça que avec toString au final, j'en suis quasi certain.
 
Sans parler du fait qu'il y a 99% de chances que ça ne soit utilisé que pour du log.
 
bref.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271196
gfive
Posté le 09-12-2015 à 12:05:56  profilanswer
 

___alt a écrit :

Ah et sinon gfive, récupérer l'objet Method doit être fait dans la boucle parce que la liste peut contenir des objets hétérogènes.
 
Mais en utilisant son equals pourri au lieu de length() > 0, il instancie une String à chaque itération, pour rien [:bien]
Alors qu'on utilise des StringBuilders pour éviter ça, justement [:rofl]


 
Y'a aussi mieux que length > 0 , je trouve :
 

Code :
  1. public static <T> String lineariseList(List<T> list, String separator, String method) {
  2.        if (list == null || list.isEmpty) {
  3.           return "";
  4.        }
  5.        Iterator<T> it = list.iterator();
  6.        StringBuilder stringBuilder = new StringBuilder(toString(it.next(), method));
  7.        while (it.hasNext()) {
  8.             stringBuilder.append(separator).append(toString(it.next(), method));
  9.        }
  10.        return stringBuilder.toString();
  11. }


 
Avec l'invocation de sa méthode dans le toString(...)  
 


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271197
DDT
Few understand
Posté le 09-12-2015 à 12:06:54  profilanswer
 

___alt a écrit :

Y'a des tonnes de moyens de faire mieux que ça

Avec un design raisonnable c'est évident :jap:
 
Mais là il peut passer un truc complètement arbitraire comme nom de méthode. :D
C'est en effet débile mais si tu veux faire ça proprement en Java je vois pas...


---------------
click clack clunka thunk
n°2271198
nraynaud
lol
Posté le 09-12-2015 à 12:09:40  profilanswer
 

gfive a écrit :


Effectivement, je me suis tellement habitué aux Generics que j'ai oublié qu'il pouvait construire une liste hétérogène.


je peux pas m'empêcher de relever [:ciler]


---------------
trainoo.com, c'est fini
n°2271201
gfive
Posté le 09-12-2015 à 12:14:44  profilanswer
 

nraynaud a écrit :


je peux pas m'empêcher de relever [:ciler]


 
ouais, il peut aussi, mais c'est rare d'en avoir besoin en réalité (des objets qui n'ont rien en commun, quoi)
 
Et au final, dans sa méthode pourrie, si un objet n'a pas la méthode demandée, il ne se passe rien. C'est peut être voulu, mais c'est pas sûr.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271206
masklinn
í dag viðrar vel til loftárása
Posté le 09-12-2015 à 13:18:46  profilanswer
 

gfive a écrit :

bah déjà la recherche de al méthode à chaque tour de boucle, c'est sympa aussi.


T'as pas de garantie que c'est la même classe partout [:cupra]

Spoiler :

je sais même pas ce que ça coûte en java


gfive a écrit :

Le catch de Exception ou autre super-classe à la place de tout le merdier aussi


Sauf que là tu bouffes aussi une erreur dans le stringifier non?

gfive a écrit :

sans parler de StringUtils.join(..) par exemple, mais bon :o


C'est du Apache Commons, pas du JDK standard, j'ai bien précisé :o (puis de toute manière ça aide pas si t'as décidé d'un stringifier custom)

___alt a écrit :

Y'a des tonnes de moyens de faire mieux que ça, le plus propre sans Java 8 étant d'appeler toString(). Si jamais tu peux pas, parce que toString() a une autre sémantique que la tienne, y'a ça :

 
Code :
  1. public interface Representable {
  2.    String representation();
  3. }
 

Et ta méthode devient (sans utiliser de dépendance)

 
Code :
  1. public static String representation(List<Representable> elements, String separator) {
  2.    if (elements == null) {
  3.        return "";
  4.    }
  5.  
  6.    StringBuilder representations = new StringBuilder();
  7.    for (Representable element : elements) {
  8.        if (representations.length() > 0) {
  9.            representations.append(separator);
  10.        }
  11.        representations.append(element.representation());    
  12.    }
  13.  
  14.    return representations.toString();
  15. }



Ça marche que si tu contrôles le type d'origine ça :o

___alt a écrit :

Et fait ça en Java 8 :

 
Code :
  1. public static String representation(List<Representable> elements, String separator) {
  2.    checkArgument(elements != null)
  3.  
  4.    return representations.stream()
  5.        .map(Representable::representation)
  6.        .collect(Collectors.joining(separator);
  7. }



Oui clairement en java 8[0] t'as pas vraiment besoin de tout ce bordel, et à ce compte là t'inline la méthode et tu te fais pas chier

 

[0] ou avec la plupart des langages qui sont pas java[1]
[1] ou Go

 
gfive a écrit :

 

Y'a aussi mieux que length > 0 , je trouve :

 
Code :
  1. public static <T> String lineariseList(List<T> list, String separator, String method) {
  2.        if (list == null || list.isEmpty) {
  3.           return "";
  4.        }
  5.        Iterator<T> it = list.iterator();
  6.        StringBuilder stringBuilder = new StringBuilder(toString(it.next(), method));
  7.        while (it.hasNext()) {
  8.             stringBuilder.append(separator).append(toString(it.next(), method));
  9.        }
  10.        return stringBuilder.toString();
  11. }
 

Avec l'invocation de sa méthode dans le toString(...)

 



Si tu pars d'une List<T> (ou mieux un Iterable<T> ) t'as aussi l'option d'un interface Stringifier<T> { String stringify(T t); }, et tu peux avoir une implémentation sur Object qui appelle toString.

Message cité 1 fois
Message édité par masklinn le 09-12-2015 à 13:39:49

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2271208
gfive
Posté le 09-12-2015 à 13:45:00  profilanswer
 

masklinn a écrit :


 
Si tu pars d'une List<T> (ou mieux un Iterable<T> ) t'as aussi l'option d'un interface Stringifier<T> { String stringify(T t); }, et tu peux avoir une implémentation sur Object qui appelle toString.


 
oui, mais là il s'agissait surtout d'implémenter le "je met pas le séparateur pour le premier élément" d'une manière plus élégante (à mon avis) que le test sur la longueur de la chaîne ou le boolean first qu'on trouve partout.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2271210
flo850
moi je
Posté le 09-12-2015 à 14:07:02  profilanswer
 

Citation :

CDO-DSI, Intrapreneur digital. Fertilisateur du changement

[:wwilson]


---------------

n°2271212
___alt
Posté le 09-12-2015 à 14:10:39  profilanswer
 

gfive a écrit :

 

oui, mais là il s'agissait surtout d'implémenter le "je met pas le séparateur pour le premier élément" d'une manière plus élégante (à mon avis) que le test sur la longueur de la chaîne ou le boolean first qu'on trouve partout.

 

Par curiosité j'ai regardé l'implémentation de StringUtils.join(Iterator<?>, String) qui est utilisée pour StringUtils.join(Iterable<?>, String) :

 
Code :
  1. public static String join(final Iterator<?> iterator, final String separator) {
  2.  
  3.        // handle null, zero and one elements before building a buffer
  4.        if (iterator == null) {
  5.            return null;
  6.        }
  7.        if (!iterator.hasNext()) {
  8.            return EMPTY;
  9.        }
  10.        final Object first = iterator.next();
  11.        if (!iterator.hasNext()) {
  12.            @SuppressWarnings( "deprecation" ) // ObjectUtils.toString(Object) has been deprecated in 3.2
  13.            final String result = ObjectUtils.toString(first);
  14.            return result;
  15.        }
  16.  
  17.        // two or more elements
  18.        final StringBuilder buf = new StringBuilder(256); // Java default is 16, probably too small
  19.        if (first != null) {
  20.            buf.append(first);
  21.        }
  22.  
  23.        while (iterator.hasNext()) {
  24.            if (separator != null) {
  25.                buf.append(separator);
  26.            }
  27.            final Object obj = iterator.next();
  28.            if (obj != null) {
  29.                buf.append(obj);
  30.            }
  31.        }
  32.        return buf.toString();
  33.    }
 

Eux zappent carrément le StringBuffer quand il n'y a qu'un élément, ce qui est nettement plus malin, amha :o
(bon le nullcheck du début m'a fait vomir par contre)


Message édité par ___alt le 09-12-2015 à 14:11:09

---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2271219
TotalRecal​l
Posté le 09-12-2015 à 14:25:43  profilanswer
 

flo850 a écrit :

Citation :

CDO-DSI, Intrapreneur digital. Fertilisateur du changement

[:wwilson]


Putain que je trouve ça ridicule chaque fois que je lis ce genre de trucs sur un profil.
Je suis un vieux con :/.


---------------
Topic .Net - C# @ Prog
n°2271221
kadreg
profil: Utilisateur
Posté le 09-12-2015 à 14:27:07  profilanswer
 

TotalRecall a écrit :


Putain que je trouve ça ridicule chaque fois que je lis ce genre de trucs sur un profil.
Je suis un vieux con :/.


 
l'informatique est en pleine fraichitude par moment .....


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2271222
___alt
Posté le 09-12-2015 à 14:27:35  profilanswer
 

TotalRecall a écrit :


Putain que je trouve ça ridicule chaque fois que je lis ce genre de trucs sur un profil.
Je suis un vieux con :/.


 
Tu dis ça parce que t'es plus disruptivateur de paradigmes.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2271224
theShockWa​ve
I work at a firm named Koslow
Posté le 09-12-2015 à 14:31:12  profilanswer
 

flo850 a écrit :

Citation :

CDO-DSI, Intrapreneur digital. Fertilisateur du changement

[:wwilson]


 
Ca veut dire qu'il chie sur le changement ?  :heink:


---------------
last.fm
n°2271227
nraynaud
lol
Posté le 09-12-2015 à 14:34:19  profilanswer
 

theShockWave a écrit :


 
Ca veut dire qu'il chie sur le changement ?  :heink:


il épand de la merde, ça veut pas dire que c'est la sienne ...


---------------
trainoo.com, c'est fini
n°2271231
Plam
Bear Metal
Posté le 09-12-2015 à 14:38:22  profilanswer
 

flo850 a écrit :

Citation :

CDO-DSI, Intrapreneur digital. Fertilisateur du changement

[:wwilson]

 

Sacré Jean Philippe :love:

 

Plam, réducteur d'entropie et conceoteurs d'empreintes digitales. (j'aime bien réutiliser digital au sens propre :o )


Message édité par Plam le 09-12-2015 à 14:40:08

---------------
Spécialiste du bear metal
n°2271235
nraynaud
lol
Posté le 09-12-2015 à 14:47:11  profilanswer
 

http://www.bloomberg.com/news/arti [...] cate-owner
putain ! mes 747 ! je savais bien que j'oubliais un truc !


---------------
trainoo.com, c'est fini
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  21810  21811  21812  ..  27190  27191  27192  27193  27194  27195

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)