Uncle Bob Clean Code Checklist Rules

  • We will not ship shit
    • You know it works before release
    • The code is the highest quality proportional to the time has been allocated to it
  • We will always be ready
    • System is ready to deploy at the end of sprint
    • Code, testing, documentation has been done
    • It is shippable
  • Stable productivity
    • You do now slow down as the project grows longer. Usually we are getting slower as we make mess in the code.
  • Inexpensive adaptability
    • Cost of change should be proportional to scope. Changing text for a button shouldn't take 6 months.
    • There should be a good suite of tests
  • Continuous Improvement
    • Code should improve with time not degrade.
    • With time it should use design patterns / architectures.
  • Fearless competence
    • Clean code, do not let the code rot.
    • Do not be afraid to touch the code.
    • Tests + refactoring
    • Check it in a bit better than you found it.
  • We will not dump on QA
    • Not the group that finds bugs.
    • QA should be at the start of the process, not the end.
    • Expect for QA to find nothing
  • All tests should be automated
  • We will cover for each other.
    • You should be able to step in for someone else.
    • Someone else should be able to cover for you.
    • Pairing might come in handy.
  • Give honest estimates
    • Define a shape of what we don't know
    • PERT estimation technique
    • I expect you will say no when the answer is no
    • I expect you are going to be able to deal with pressure.