I am a trainee. According to my teacher to solve a problem we should go through following steps:
- Create Algorithm (optional)
- Create a Datatable: By analyzing the problem, create main concepts in those problem as columns and the related issues in the main concept as rows.
- Create a Flowchart based on the Datatable. (when creating flow chart, think that you are in that situation and design it in your brain)
- By seeing the Flowchart, one can solve the problem easily and in efficient way.
These steps should always be considered by a programmer if he/she wants to become a Software designer (not just a programmer) because this approach gives an efficient way of finding solution to a problem even if the problem is small. According to him, this way of approach also works in real time scenario's.
My question is: Is this really an efficient way? please share also your thoughts.
Through this question I also wanted to share some thoughts of my teacher with you who is a good mentor.
Best Answer
After performing a certain amount of research on your problem, your first step should be:
Indeed, when solving a problem, whether it be implementing a greenfield feature or fixing a bug, many software developers either fail, implement a sub-optimal solution, or simply waste time because they did not first introspect and ask themself if they were solving the right problem.
Two points about this: