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

 

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

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  21982  21983  21984  ..  27170  27171  27172  27173  27174  27175
Auteur Sujet :

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

n°2282194
DDT
Few understand
Posté le 24-05-2016 à 19:01:25  profilanswer
 

Reprise du message précédent :

tryptique a écrit :


Y a plein de pattern dans ce sens dans le code, genre plein de méthodes annotées avec @VisibleForTesting, des méthodes statiques juste parce que "je veux pas avoir à instancier l'objet juste pour tester ces 3 lignes de code"...


Vous utilisez pas d'injection de dépendances dans vos tests?


---------------
click clack clunka thunk
mood
Publicité
Posté le 24-05-2016 à 19:01:25  profilanswer
 

n°2282195
tryptique
Stay hungry, stay foolish
Posté le 24-05-2016 à 19:04:37  profilanswer
 

Jubijub a écrit :

c'est rigolo, j'ai toujours lu qu'il vallait mieux passer les champs nécessaires :  
- c'est plus simple à tester
- ça évite de devoir mocker un objet
- ça simplifie le refactoring
- Misko Hevery il dit que if you need an engine, ask for an engine, not for a car
 
mais quand j'essaye d'appliquer ça, je me retrouve assez souvent avec trop de paramètres aussi, du coup la réponse m'intéresse.


Ma question, c'est plutôt si t'as besoin d'un moteur, d'un volant et de roues, est-ce que tu passes les trois ou est-ce que tu passes la voiture ?


---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
n°2282196
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 24-05-2016 à 19:10:28  profilanswer
 

tryptique a écrit :


Ma question, c'est plutôt si t'as besoin d'un moteur, d'un volant et de roues, est-ce que tu passes les trois ou est-ce que tu passes la voiture ?


C'est une question de design, et la décision est un moyen de communiquer sur le sens de ta fonction ou de ta classe. Est-ce que ta méthode a du sens avec autre chose qu'une voiture en entrée ? si oui, il faut garder les 3 paramètres. Si tu veux les grouper pour des questions de lisibilité, soit ces trois objets ont un sens ensemble et tu crées la classe adaptée, soit tu crées une nouvelle classe qui servira qu'à ça en la scopant en conséquent.


Message édité par hephaestos le 24-05-2016 à 19:11:27
n°2282199
gfive
Posté le 24-05-2016 à 19:36:21  profilanswer
 

hephaestos a écrit :

 

Ça dépend si le lien entre bar et Foo a un sens. S'il n'en a pas, je pense que la priorité va à la clarté de l'intention du code, et si on se retrouve à passer 6 strings un refactoring s'impose, mais passer Foo à la place ça ne fait que cacher le problème de conception sous-jacent.


bah sinon tu créés des interfaces pour les ensembles de champs à passer à bar, et tu fais en sorte que foo les implémente.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2282200
___alt
Posté le 24-05-2016 à 20:24:34  profilanswer
 

hephaestos a écrit :


 
Ça dépend si le lien entre bar et Foo a un sens. S'il n'en a pas, je pense que la priorité va à la clarté de l'intention du code, et si on se retrouve à passer 6 strings un refactoring s'impose, mais passer Foo à la place ça ne fait que cacher le problème de conception sous-jacent.


 
This.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282201
___alt
Posté le 24-05-2016 à 20:31:27  profilanswer
 

tryptique a écrit :


Y a plein de pattern dans ce sens dans le code, genre plein de méthodes annotées avec @VisibleForTesting, des méthodes statiques juste parce que "je veux pas avoir à instancier l'objet juste pour tester ces 3 lignes de code"...


 
@VisibleForTesting c'est un gros gros code smell pour moi.
Polluer du code de production avec ce qui est littéralement du code de test qu'on met dans la classe à tester, c'est non.
 
Pour la construction d'objets dans les tests, soit j'utilise les factory methods de mes objets (i.e. j'utilise le code de prod) et s'il n'est pas adapté, je crée des builders dédiés aux tests.
Le code qui facilite les tests doit rester avec les tests, que ce soit ce genre de builders ou mes assertions assertJ custom.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282202
___alt
Posté le 24-05-2016 à 20:32:16  profilanswer
 

DDT a écrit :

Vous utilisez pas d'injection de dépendances dans vos tests?


 
L'injection de dépendance ça règle... l'injection des dépendances, pas l'instanciation des données.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282203
koskoz
They see me trollin they hatin
Posté le 24-05-2016 à 20:34:52  profilanswer
 

Jubijub a écrit :


 
c'est rigolo, j'ai toujours lu qu'il vallait mieux passer les champs nécessaires :  
- c'est plus simple à tester
- ça évite de devoir mocker un objet
- ça simplifie le refactoring
- Misko Hevery il dit que if you need an engine, ask for an engine, not for a car
 
mais quand j'essaye d'appliquer ça, je me retrouve assez souvent avec trop de paramètres aussi, du coup la réponse m'intéresse.


 
Si tu as besoin de trop de paramètres c'est sûrement que le SRP n'est pas respecté.


---------------
Twitter
n°2282204
sligor
Posté le 24-05-2016 à 21:19:38  profilanswer
 

https://www.youtube.com/watch?v=xwWw9g0EgHA
 
je veux la même  [:cerveau love]


---------------
qwerty-fr
n°2282208
DDT
Few understand
Posté le 24-05-2016 à 23:03:01  profilanswer
 

___alt a écrit :


 
L'injection de dépendance ça règle... l'injection des dépendances, pas l'instanciation des données.


L'instanciation des données non, mais il parle de logique et rendre des méthodes statiques pour faciliter les tests. Je comprends pas comment ce problème peut se poser.


---------------
click clack clunka thunk
mood
Publicité
Posté le 24-05-2016 à 23:03:01  profilanswer
 

n°2282210
DDT
Few understand
Posté le 24-05-2016 à 23:25:34  profilanswer
 

___alt a écrit :


 
@VisibleForTesting c'est un gros gros code smell pour moi.
Polluer du code de production avec ce qui est littéralement du code de test qu'on met dans la classe à tester, c'est non.

@VisibleForTesting généralement tu l'utilises sur un getter default/protected là où tu garderais normalement le membre complètement privé si tu voulais pas tester. Ça peut être utile.


---------------
click clack clunka thunk
n°2282212
gelatine_v​elue
Posté le 24-05-2016 à 23:34:53  profilanswer
 

DDT a écrit :

@VisibleForTesting généralement tu l'utilises sur un getter default/protected là où tu garderais normalement le membre complètement privé si tu voulais pas tester. Ça peut être utile.

 

Si il est default (package), il suffit de mettre le test dans le même package, si il est protected tu peux sous classer, si il est protected dans un classe final ok.


Message édité par gelatine_velue le 24-05-2016 à 23:36:26
n°2282213
DDT
Few understand
Posté le 25-05-2016 à 00:01:07  profilanswer
 

Bah oui. L'annotation sert juste à documenter pourquoi tu as mis un getter. :)


---------------
click clack clunka thunk
n°2282217
tryptique
Stay hungry, stay foolish
Posté le 25-05-2016 à 07:59:39  profilanswer
 

DDT a écrit :


L'instanciation des données non, mais il parle de logique et rendre des méthodes statiques pour faciliter les tests. Je comprends pas comment ce problème peut se poser.


Par exemple,

Code :
  1. public boolean isToBeSuppressed(Foo foo, Bar bar, Baz baz) {
  2. boolean condition1= deriveCondition1(foo,bar);
  3. boolean condition2 = false;
  4. if(condition1) {
  5. condition2 = deriveCondition2(bad, foo.getXYZ();
  6. }
  7. return isToBeSuppressed(conditon1,condition2);
  8. }
 

Là on se retrouve avec deriveCondition1, deriveCondition2 et isToBeSuppressed(boolean, boolean) statiques (et visible for testing) comme ça il peut facilement tester les différentes logiques indépendamment.
Bon par contre, je crois pas que la logique complète soit testée, au mieux doit y avoir un happy path pour vérifier que ça retourne true dans un cas précis.


---------------
"J'ai les goûts les plus simples du monde, je me contente du meilleur" O. Wilde - Freedom of time is the new luxury. Time to sleep, work, play, relax, travel, inspire and get inspired. Time to write your story.
n°2282222
gelatine_v​elue
Posté le 25-05-2016 à 09:25:49  profilanswer
 

tryptique a écrit :


Là on se retrouve avec deriveCondition1, deriveCondition2 et isToBeSuppressed(boolean, boolean) statiques (et visible for testing) comme ça il peut facilement tester les différentes logiques indépendamment.
Bon par contre, je crois pas que la logique complète soit testée, au mieux doit y avoir un happy path pour vérifier que ça retourne true dans un cas précis.


 
Je pense que c'est complètement attardé. Si deriveCondition1, deriveCondition2 et isToBeSuppressed sont publics, c'est pas le boulot d'instancier l'objet autour qui va le fatiguer. Sinon, si il a des problèmes pour tester ses bouts de code indépendamment c'est que son code est mal structuré, et sans doute que ces méthodes devraient être dans un objet à part, testable à part. J'ai l'impression qu'il a une belle arborescence de méthodes privées, signe que le code est pas assez découpé. C'est un des trucs qu'un outil d'analyse statique fait remonter.

n°2282224
___alt
Posté le 25-05-2016 à 10:25:23  profilanswer
 

gelatine_velue a écrit :

Je pense que c'est complètement attardé. Si deriveCondition1, deriveCondition2 et isToBeSuppressed sont publics, c'est pas le boulot d'instancier l'objet autour qui va le fatiguer. Sinon, si il a des problèmes pour tester ses bouts de code indépendamment c'est que son code est mal structuré, et sans doute que ces méthodes devraient être dans un objet à part, testable à part. J'ai l'impression qu'il a une belle arborescence de méthodes privées, signe que le code est pas assez découpé. C'est un des trucs qu'un outil d'analyse statique fait remonter.


 
Le @VisibleForTesting c'est effectivement  souvent le signe qu'il faut extraire du code dans une dépendance.


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282225
Blackyell
$question = $to_be || !$to_be;
Posté le 25-05-2016 à 10:34:15  profilanswer
 

tryptique a écrit :


Ma question, c'est plutôt si t'as besoin d'un moteur, d'un volant et de roues, est-ce que tu passes les trois ou est-ce que tu passes la voiture ?


 
Je fais en sorte que la méthode requière une interface.
 
Si ma méthode à systématiquement besoin d'un moteur, d'un volant et de roues... je lui ferais avaler un VehicleInterface par exemple. Et donc oui, je passe la voiture... ou le camion... ou le tracteur...

n°2282227
nraynaud
lol
Posté le 25-05-2016 à 11:10:42  profilanswer
 

http://www.cestlagreve.fr/ le meilleur site du monde [:rofl]
 


---------------
trainoo.com, c'est fini
n°2282228
gfive
Posté le 25-05-2016 à 11:15:19  profilanswer
 

Blackyell a écrit :

 

Je fais en sorte que la méthode requière une interface.

 

Si ma méthode à systématiquement besoin d'un moteur, d'un volant et de roues... je lui ferais avaler un VehicleInterface par exemple. Et donc oui, je passe la voiture... ou le camion... ou le tracteur...


+1

 


Tu peux aussi écrire ta méthode comme ça :

 

public <T extends HasRoues & HasVolant & HasMoteur> void methode(T truc)

 

ce qui permet de faire des ensembles de trucs cohérents en comportement facilement.


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2282234
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 25-05-2016 à 12:19:16  profilanswer
 

Perso je me poserais la question de savoir pourquoi la méthode a besoin d'un moteur, d'un volant et de roues. D'un point de vue métier/domaine, ça a du sens ? Dans quelle situation on a besoin de moteur, volant et roues mais pas du reste ?
-> Possible que la méthode fasse trop de choses (cf la remarque sur le SRP par koskoz), donc je regarde s'il ne vaut pas mieux découper. Sinon je crée un type/une classe qui regroupe les paramètres et qui ait un sens du point de vue métier. Par exemple, plutôt que de passer une date, un prix et un nom de client, je vais voir si ça n'a pas du sens de créer un type Contract ou Bill en fonction du domaine dans lequel se trouve le bout de code.

 

En plus de tout ça, en passant plein de paramètres, on va souvent passer des types primitifs (int, string...) qui n'ont pas beaucoup de signification. On dans un code smell de type Primitive Obsession, en général c'est pas bon non plus.

 

EDIT : also, Clean Code. Il y est préconisé qu'au-delà de 2 paramètres, faut se poser des questions.


Message édité par Taiche le 25-05-2016 à 12:20:15

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°2282239
vapeur_coc​honne
Stig de Loisir
Posté le 25-05-2016 à 13:12:53  profilanswer
 

oO

 

bon plus serieusement, je cherche un 13;3

 

asus, leger, pour aller sur internet et ecouter de la zic, DL du p0rn, windows, ssd je joue pas
y'a trop de modele
budget entre 650 et 800
amazon serait un plus

 

danke
oui je sais je viens d'acheter une tablette et un 17"
mais tant que je pourrais pas avoir un pc pour moi sans que tout le monde me casse les couilles, je vais continuer a dépenser.

 

et plus généralement j'ai envie de dépenser

 

nouveau vtt, mercedes GLA,  etc

 

PS apres il me faudra un fixe aussi (tour assemblé,silencieux, pas cher, ssd)
grand écran, internet c'est tout

 

le premier ou le seul qui me trouve les bons liens gagne un colissimo qui pue l'avesnois

Message cité 2 fois
Message édité par vapeur_cochonne le 25-05-2016 à 13:14:55

---------------
marilou repose sous la neige
n°2282241
gatsu35
Blablaté par Harko
Posté le 25-05-2016 à 13:19:35  profilanswer
 
n°2282242
Hermes le ​Messager
Breton Quiétiste
Posté le 25-05-2016 à 13:25:14  profilanswer
 

vapeur_cochonne a écrit :

oO
 
bon plus serieusement, je cherche un 13;3
 
asus, leger, pour aller sur internet et ecouter de la zic, DL du p0rn, windows, ssd je joue pas  
y'a trop de modele  
budget entre 650 et 800
amazon serait un plus  
 
danke
oui je sais je viens d'acheter une tablette et un 17"
mais tant que je pourrais pas avoir un pc pour moi sans que tout le monde me casse les couilles, je vais continuer a dépenser.
 
et plus généralement j'ai envie de dépenser
 
nouveau vtt, mercedes GLA,  etc
 
PS apres il me faudra un fixe aussi (tour assemblé,silencieux, pas cher, ssd)
grand écran, internet c'est tout  
 
le premier ou le seul qui me trouve les bons liens gagne un colissimo qui pue l'avesnois


 
asus 13" avec SSD sur amazon pour 600 à 800€, au moins c'est simple, ya pas.
 
https://www.amazon.fr/s/ref=sr_nr_p [...] =188170031
 
Celui qui s'en rapproche le plus: https://www.amazon.fr/Asus-UX305FA- [...] r+portable
 
Mais bon, c'est 965€, pas 800 ou moins.

Message cité 1 fois
Message édité par Hermes le Messager le 25-05-2016 à 13:25:38
n°2282243
Dion
Acceuil
Posté le 25-05-2016 à 13:28:12  profilanswer
 

J'ai été déçu par le GLA, au risque de passer pour un kéké va quand même plutôt voir du côté de la marque d'Hitler :/


---------------
It is not called show art
n°2282244
kadreg
profil: Utilisateur
Posté le 25-05-2016 à 13:30:04  profilanswer
 

GLA [:sadnoir]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°2282245
Jubijub
Parce que je le VD bien
Posté le 25-05-2016 à 13:31:39  profilanswer
 

Dion a écrit :

J'ai été déçu par le GLA, au risque de passer pour un kéké va quand même plutôt voir du côté de la marque d'Hitler :/


pourtant ça sonnait bien


---------------
Jubi Photos : Flickr - 500px
n°2282246
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 25-05-2016 à 13:35:38  profilanswer
 

Premier salaire Suisse reçu  [:petitebrunette1]  [:bananav]  [:alexmagnus]  [:bodette]  
 
Je vais pouvoir payer la caution de ma chambre de bonne [:baelg]

n°2282247
vapeur_coc​honne
Stig de Loisir
Posté le 25-05-2016 à 13:39:48  profilanswer
 

Dion a écrit :

J'ai été déçu par le GLA, au risque de passer pour un kéké va quand même plutôt voir du côté de la marque d'Hitler :/


PAS  de voiture d 'etranger chez moi  
exit bm sauf x3


---------------
marilou repose sous la neige
n°2282248
vapeur_coc​honne
Stig de Loisir
Posté le 25-05-2016 à 13:45:59  profilanswer
 

gatsu35 a écrit :

T'es riche ?


je pense que ouyi


---------------
marilou repose sous la neige
n°2282249
vapeur_coc​honne
Stig de Loisir
Posté le 25-05-2016 à 13:46:36  profilanswer
 

Hermes le Messager a écrit :


 
asus 13" avec SSD sur amazon pour 600 à 800€, au moins c'est simple, ya pas.
 
https://www.amazon.fr/s/ref=sr_nr_p [...] =188170031
 
Celui qui s'en rapproche le plus: https://www.amazon.fr/Asus-UX305FA- [...] r+portable
 
Mais bon, c'est 965€, pas 800 ou moins.


y'en a un qui est en precommande  
je vais deja m'acheter un fixe apres on verra


---------------
marilou repose sous la neige
n°2282251
koskoz
They see me trollin they hatin
Posté le 25-05-2016 à 13:54:43  profilanswer
 

vapeur s'est mis à dealer [:pingouino]


---------------
Twitter
n°2282256
nraynaud
lol
Posté le 25-05-2016 à 14:41:40  profilanswer
 

ça vous parait réaliste de lancer un business où je ferai le premier proto physique pour les startups ?


---------------
trainoo.com, c'est fini
n°2282259
___alt
Posté le 25-05-2016 à 14:59:33  profilanswer
 

Le plus gros business plan que j'ai fait de ma vie c'était pour emmener ma classe de 6ème au Futuroscope, alors bon...


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282262
XaTriX
Posté le 25-05-2016 à 15:10:38  profilanswer
 

vapeur_cochonne a écrit :

oO
 
bon plus serieusement, je cherche un 13;3
 
asus, leger, pour aller sur internet et ecouter de la zic, DL du p0rn, windows, ssd je joue pas  
y'a trop de modele  
budget entre 650 et 800
amazon serait un plus  
 
danke
oui je sais je viens d'acheter une tablette et un 17"
mais tant que je pourrais pas avoir un pc pour moi sans que tout le monde me casse les couilles, je vais continuer a dépenser.
 
et plus généralement j'ai envie de dépenser
 
nouveau vtt, mercedes GLA,  etc
 
PS apres il me faudra un fixe aussi (tour assemblé,silencieux, pas cher, ssd)
grand écran, internet c'est tout  
 
le premier ou le seul qui me trouve les bons liens gagne un colissimo qui pue l'avesnois


Je te fais tout de A à Z pour 1k€ :o
 
XaT


---------------
Proxytaf ? non rien
n°2282263
XaTriX
Posté le 25-05-2016 à 15:11:13  profilanswer
 

___alt a écrit :

Le plus gros business plan que j'ai fait de ma vie c'était pour emmener ma classe de 6ème au Futuroscope, alors bon...


Et tu t'es chié et t'as oublié l'urssaf ? :o
 
XaT


---------------
Proxytaf ? non rien
n°2282264
Devil'sTig​er
Posté le 25-05-2016 à 15:20:00  profilanswer
 

nraynaud a écrit :

ça vous parait réaliste de lancer un business où je ferai le premier proto physique pour les startups ?


Non.
 
Elles sont au stade ou elles savent pas ce qu'elles veulent (par définition), et donc tu vas te retrouver avec un projet a moitié fini, ou tu vas revenir 500x dessus, ce qui veut dire que si tu souhaites dégager une rentabilité, il va falloir mettre un prix fort, prix fort qui les fera fuir chez le concurrent assez con pour ne pas voir l'état du projet.
 
Voila.

n°2282265
Dion
Acceuil
Posté le 25-05-2016 à 16:34:05  profilanswer
 

vapeur_cochonne a écrit :


PAS  de voiture d 'etranger chez moi  
exit bm sauf x3


 
C'était Audi :o
Et Mercedes est pas moins étranger que BM ou Audi :o
 
Mais sinon prend une citroen nemo :o


---------------
It is not called show art
n°2282268
el muchach​o
Comfortably Numb
Posté le 25-05-2016 à 16:51:36  profilanswer
 
n°2282269
___alt
Posté le 25-05-2016 à 16:58:22  profilanswer
 


 
Augmenter les salaires de ces jobs ne va faire qu'accélérer l'inévitable : la valeur ajoutée de l'humain dans la confection de burgers de chaîne fast-food est très faible.
Et ça s'automatise facilement : ton burger, cuit à la demande, selon ton goût, avec des ingrédients les plus frais possibles (tomates/salade/oignons/pickles coupés à la demande).


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2282270
sligor
Posté le 25-05-2016 à 16:58:55  profilanswer
 

je ne suis pas sûr que le robot à 35k$ se plaise bien à l'environnement crasseux des mac do


---------------
qwerty-fr
n°2282272
XaTriX
Posté le 25-05-2016 à 17:00:10  profilanswer
 

C'est propre un domac ! Bien plus propre que 99% des kebabs et 72% des restos :o
 
XaT


---------------
Proxytaf ? non rien
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  21982  21983  21984  ..  27170  27171  27172  27173  27174  27175

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)