Best Practices for Scientific Computing
  Scientists spend an increasing amount of time building and using software. However, most scientists are never taught how to do this efficiently. As a result, many are unaware of tools and practices that would allow them to write more reliable and maintainable code with less effort. We describe a set of best practices for scientific software development that have solid foundations in research and experience, and that improve scientists' productivity and the reliability of their software. 
Greg Wilson, D. A. Aruliah, C. Titus Brown, Neil P. Chue Hong, Matt   Davis, Richard T. Guy, Steven H. D. Haddock, Katy Huff...
cs.MS cs.SE