Best Practices for Scientific Computing
- Write programs for people, not computers 사람을 위해 만들어라 컴퓨터가 아니라
- Automate repetitive tasks
- Use the computer to record history
- Make incremental changes
- User version control
- Don't repeat yourself
- Plan for mistakes - Defensive programming, Write and run tests, Use a variety of oracles, Turn bugs into test cases, Use a symbolic debugger
- Optimize software only after it works correctly 최적화는 제대로 작동한 후 할것
- Document design and purpose, not mechanics 설계와 목적을 문서로 만들 것 작동원리가 아니라
- Collaborate