© Henri Tremblay 2015
Henri Tremblay
Senior Software Engineer
Terracotta, a Software AG company
Be Pragmatic [CON3496]
@henri_tremblay
2
All the stories told during this presentation
are true and really happened
BUT
Any resemblance between these stories
and whatever company you might
recognize is purely accidental
Disclaimer
3
4
Gut feeling!
5
Henri Tremblay
6
Henri Tremblay
7
Henri Tremblay
8
9
10
Only depends on
interfaces
11
You might need it
later
12
13
You might need it
later
14
15
16
17
18
You need an
interface to mock
it
19
Be Pragmatic
20
21
22
23
Don’t lose the
purpose
Rule #1
24
If it feels useless
or overly
complicated, don’t
use it
Rule #2
25
26
Find your quote
Rule #3
27
It smells
28
Huh? That’s not
right!
29
Aaaaaaaaaaaaaa
aaaaaaaa!!!!!!
30
WTF!!!
31
White Tuna
Fandwich!!!
32
33
Beware crazy
architects
Rule #4
34
UML
.NETJava
C++ ORM
JNI
Unmanaged
Model generator
35
UML
.NETJava
C++ ORM
JNI
Unmanaged
Cast
Humbly request
Model generator
36
37
Beware crazy
managers
Rule #5
38
39
40
Never use
something you
don’t need until
you do
Rule #6
41
Brie

Oka

Camembert

Cheddar
Cheese.csv
42
CsvReader
43
CsvReader
44
Brie,"Mild soft cheese"

Oka,"Venerable Québec cheese"

Camembert,Strong soft cheese

Cheddar,"Hard cheese, taste nothing if not aged"

Maroilles,"Classified as ""chemical weapon"" in the USA"

Cheese.csv
45
CsvReader
46
You need it earlier
than you thought
Rule #7
47
15 minutes!
48
1,500,000,000,000
instructions
49
2 years
50
Cheese REST
51
Cheese REST
52
How harmful is it
to try?
Rule #9
53
Skydiving without
a parachute
54
Skydiving without
a parachute
è Can die
55
Migrate to Log4j 2
56
Migrate to Log4j 2
è 3 MD
57
Convert to JUnit 5
58
Convert to JUnit 5
è 20 MD
59
Use Scala
(no please don’t)
60
Henri Tremblay
•  More or less made possible class mocking and proxying
•  Coined the term “partial mocking”
61
Who has learned
something today?
?
62
Further reading
63
Questions? http://montreal-jug.org
? http://easymock.org
http://objenesis.org
http:/ehcache.org
Henri Tremblay
http://blog.tremblay.pro
@henri_tremblay
64

Be Pragmatic - JavaOne 2017