-
Notifications
You must be signed in to change notification settings - Fork 7
Programming modes
Mikhail Panko edited this page Jul 14, 2013
·
7 revisions
Writing code to test an idea.
Important:
- speed of coding: minimal overhead, few lines of code
- ability to make a definite decision about the idea hypothesis
Not important:
- code robustness: ability to run under various regimes, inputs, and systems
- code readability
- code speed and memory usage
- ability to get results other than testing the idea
- ability to easily expand code beyond idea testing
Can benefit from using high-level packages/libraries and searching for available similar projects (literature search in science).
Refactoring code to:
- minimize execution time
- minimize memory consumption
- increase ability to run under various regimes, inputs, and systems
- display results better
Can benefit from using debugging tools.
Expanding existing code and fixing bugs.
Important:
- good modular data and code design
- code readability
Can benefit from from implementing version control system and applying standard software engineering techniques described in this wiki.
Writing code that can be easily used by others and/or working on code together with other people.
Important:
Can benefit from using GitHub and applying standard software engineering techniques.
Writing code which will become a standard in the field. This is extremely hard because it requires:
- top-notch code quality
- ability to solve important users problems better than existing alternatives
- great marketing (or power to enforce using your software)