Many times, I think decision tree and flow diagram gives a programmer a clear idea about how to code. Do you do it? Do you find it useful?
The Overall goal of writing code is to deliver to end user, so we can say it's a kind of release. So before making any changes or writing we use to have a discussion session where we debug to all possibilities. Then after i start creating SRT (Software Release Tracker) which contains below activity :
Why we write Design Document : This is the place where we get time to debug more about the function of the release, flow of the action, changes required in database, the required effort to write code. Having a design makes developer more comfortable to write code because he can focus on goal and will continue with same effort.
And also the documents help QA to cover more test cases and help them to think more about the corner cases so the planned deliverable will have a quality build.
Syed Fazle Rahman Sandeep Panda Pankaj Patel Lets debug the answer more by asking more questions.
It's always good to have both, but we have been dong just the High Level Flow diagram in our team and allowed the others to decide on their coding style to go with decision tree.
If the logic is way complex, it's best to have both in hand before writing any piece of code.
Reason to do so:
Not every problem calls for it - definitely not everyday bug fixes - but for entire system architecture, I do. Well, I draw graphs or network flows, but I AM a discrete mathematician.
Md Zaid Imam
Let learning process continue | Principal Product Manager
Rajkumar
Fullstack Developer.
Either you follow this and have less messier code or you don't and have a lot more messier one. It is that simple. Whoever does code without a plan always end up creating more junk comparatively.