1. The document discusses best practices for scientific software development including writing code for people to read, automating repetitive tasks, using version control, and avoiding redundancy.
2. Specific approaches mentioned are planning for mistakes, automated testing, continuous integration, and using style guides to ensure code is readable and consistently formatted.
3. Knitting allows analyzing and reporting in a single file by embedding R code chunks in markdown documents.