How to get rid of Obsession? Sebastian Malaca
Who am I? Fanatic of the OOP and the Quality of the Code Blogger Speaker Trainer and consultant Software Developer at Luxoft @SebastianMalaca letstalkaboutjava.blogspot.com www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
What would be served? Knowledge base Is there any problem? Being obsessed… www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Obsession A compulsive or irrational preoccupation. An unhealthy fixation. www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Being Obsessed To preoccupy or fill the mind of (someone) continually and to a troubling extent. www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Passion vs. Obsession Synonyms or not? (fascination, enthusiasm, passion) www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
How I found the problem? Tool Fixation Toolbox www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
For the sake of Code Quality! Developer - a person that is doing everything to become replaceable www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Are you Obsessed? www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Coverage www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Coverage www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Coverage Unit tests, unit tests, unit tests Unit tests are everything what we need Mocks are everywhere Component tests? Refactoring? No feedback www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
System Tests www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
System Tests Test everything Waiting too long for feedback Regular Flow and Special Cases Test Pyramind and Reversed Test Pyramid Test Square = Waste of Time www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Defensive Programming www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Defensive Programming Null checks and Duplication Null checks and Law of Demeter Boundary Objects and verification Objects and verification www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Code Review and Explanation www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Code Review and Explanation Tell my why… Tell my how… Where’s the value? Readability Knowledge sharing www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Code Review and Comments www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Code Review and Comments My way Suggestions Never Ending discussions Is it really matter? www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Neverending Refactoring www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Neverending Refactoring Perfection We love it! Boundaries and Value www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
The Best Idea www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
The Best Idea Big problem We have to do it right! There is no ideal solution Never Ending discussions Moving nowhere It’s boring www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Evangelization www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Evangelization Let’s do some Agile The New (Microservices, Framework, Language) Catchy (TDD, DDD) Like a recruiter www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Following the Rules www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Following the Rules SOLID Law of Demeter Tell, don’t ask DRY You may break them all... Tool vs. Toolbox www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Obsessed or not? When you don’t know… www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
What was served? Obsession Passion vs. Obsession Obsessions Coverage System Tests Code Review and Comments/Explanation Defensinve Programming Refactoring Evangelisation Following The Rules www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
Do it with Passion or not at all. You have to take care of the code, but you also have to know when you can leave it as it is. www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com
www.luxoft.com, @SebastianMalaca, letstalkaboutjava.blogspot.com