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.