3 ms·
1. Identify a problem 2. Design algorithms and data structures to solve it 3. Implement and test them ... In practice, work is not so well organized as there i
by m3at 7y ago
1. Identify a problem
2. Design algorithms and data structures to solve it
3. Implement and test them
...
In practice, work is not so well organized as there is interplay between steps. You may write code to inform the design.
As the author acknowledged, real life rarely allow such clean division.
One tool that I find very useful to interleave the three - or at least to allow shorter loops - is jupyter notebooks. The name is quite accurate, it can be used as a notebook to come up with solutions, and can easily be discarded once used. Unlike prototype code which has a tendency to evolve into the final codebase.
It's a common tool in data science but I'm not sure about other fields. Has someone used it for other purposes?
[1] https://jupyter.org/ https://jupyter.org/
Edit: formatting
- wa1987 7y agoOn a similar note, this looks interesting as well (not affiliated): https://observablehq.com/ https://observablehq.com/