1. 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.
  2. 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.

We need to be able to tolerate some mess, because that little bit of mess is what makes it livable.

  1. 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.
  1. 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.