A structured approach to solving problems

In the steps that lead to the development of clean code you should think of

  1. How to structure a code in terms of functions (use IDEs or advanced text editors like sublime or atom)
  2. How to make a module
  3. How to read input data flexibly from the command line or files
  4. How to create graphical/web user interfaces
  5. How to write unit tests
  6. How to refactor code in terms of classes (instead of functions only)
  7. How to conduct and automate large-scale numerical experiments
  8. How to write scientific reports in various formats (LaTeX, HTML, doconce)