What is Good Software Design and what are the measuring guidelines
In fact how can one be sure that the system is well designed and always ready for that dreaded word CHANGE , and what is the limit of being paranoid and Overkill.
After all like any other task it also consumes resources like Time and Human labor (for sophistication we can use term Man Hours , but personally i hate this term as if Software programming is Seventh standard Work -Time problem)
So what separates Good from Bad and how to measure the impact on overall system when we choose one over the Other. There are Masters out their who have tried to tame this beast .
Everything is fine although not fine but for time being lets concentrate on number 10
I would like to share my views about Design and as i am not Master so keep your mind
1. Designing is not a Task that had to be done in beginning or end of Software Lifecycle
2. Whenever their is choice between mind-Blowing and Simple Algo ,
3. Software is like a beast and it will try its level best to not to be tamed.
4. Size does matter! It sucks; keep your classes’ and methods small.
5. Classes should have only one reason to change and that reason
6. Allocate extra time in Project Plan for Nomenclature of your classes ,
7) Algo optimization is million time better than code optimization.
8) Whenever in doubt scream Fire-Fire so that others can come for rescue.
9) While Designing Look Top-Down rather than Bottom-Up ,many of you may
10) Have faith in God and keep praying, it seriously helps!
I have absolutely no idea how much it will help you as i am still as confused as I was in beginning of all this.