"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
How to protect your code against a destructive influence of client | Codesushi - Rzeszow 2017
1. How to protect your code
against a destructive influence of client
Chris Ozog - Codesushi CTO
2. Agenda:
● A bit about me...
● No code is written with the idea that it will be bad
● Is there a pilot on the plane? Who is writing the code, you or the client?
● And what now? So a thing or two about proper communication and a
clear message!
● A soft way – the correct mindset
● A hard way – the tools which will help us to do it
● Rome wasn’t built in a day! The time for refactoring is the most
valuable time
● Summary
3. A bit about me...
● Creator of web apps for more than a decade
now
● Addicted to clean code
● Technical leader at Codesushi
● A passionate CodeReviewer
● A Philosopher and Developer in one…
What’s worse, is that it’s documented by two diplomas
4. No code is written with the
idea that it will be bad
● A good start to a bad finish
● Changes
● Changes for changes
● Changes for changes, for changes
5. Who is writing the code, you or the client?
● You are writing the code and not the client!
● At some point we make the first mistake –
negligence
● And then it goes downhill…
6. And what now? So a thing or two about proper
communication and a clear message!
● Despair and pointing the finger!
● But can it be done differently?
● Two ways, a soft one and a hard one?!
7. The soft way – when the client
constantly changes his mind…
● A headstrong programmer and a cursed PM
○ That’s not the right way
● The golden mean
○ Trilateral discussions: the client - PM - dev team
○ Planning should include refactoring
● The semi-hard way
○ SOLID code
○ Code review – best performed by someone from outside the team
8. The hard way – so the tools which
will help us to do it
● PHP Code sniffer
● PHP Mess detector
9. Summary:
● Usually, we are the ones responsible for a bad code
● In order to efficiently prevent a bad code:
○ Correctly communicate with the client
○ Predict the time needed for refactoring
○ Introduce clear rules for creating software, like for example SOLID
○ Code Review should be performed by someone from outside the
project
○ Implement the PHP Mess detector and PHP Code Sniffer tools
10. Thank you for your
attention :)
e-mail: hello@codesushi.co
www: codesushi.coChris Ozog
Codesushi CTO