To summarize clean code should be:

  • maintainable (understandable by human)
  • flexible (open to new features and improvements)
  • tested
  • easy too refactor
  • Use setters and getters in the right context, for example: downloadPage() is not the same as getPage()