- Don’t Make It Worse
- If you’re in a cluttered space, even if you don’t have time to retrofit the entire space to be cleaner, you can at least make sure that what you’re changing/adding isn’t continuing the trend of badness.
- If you see a pull request that continues the trend of badness, politely remind the author that we have agreed to not make our space worse.
- Improvement Over Consistency
- 5 books in a pile and one on the shelf is better than 6 books in the pile.
- Maybe the next time the code is touched, someone can move one more book over to the shelf.
- If you wait until you have time to move them all at once, it won’t happen.
- This is difficult, because we are taught to value consistency.
- 5 books in a pile and one on the shelf is better than 6 books in the pile.
We need to be able to tolerate some mess, because that little bit of mess is what makes it livable.
- Inline Everything
- Stop creating stories for refactoring. This is still a big bang.
- We need to incorporate the cleaning into everything we do.
- Boy/girl scout rule: leave things cleaner than how you found it.
- Treat refactoring and cleaning up as part of what we do, be open about it. Don’t try to hide it.
- Liase
- Communicate with everyone about what you’re doing all the time.
- Don’t ask for permission. Clean code is literally part of our job. It is expected.
- Be upfront about what you are doing.
- Don’t ask for forgiveness.
- But learn from your mistakes.
- Do ask for advice.
- “Do you think we should refactor this right now?”
- But don’t always take the advice.
- It is your job to decide whether or not something needs to be refactored.
- You need to have the freedom to make those decisions and to make those mistakes.
- Do work together.
- You have to live here.
- We want to change the codebase from you have to live here to, you get to live here.
- Don’t ask for permission. Clean code is literally part of our job. It is expected.