PureCode Software interview question

What are some best practices for writing clean and maintainable code?