How to write clean code?