It's just like building a house. If you were an architect and someone asked you "How do I build a house?" Then you'd give them the basics. Buy land, lumber, utilities, etc and start from the bottom up. Though if someone asked you "What is the best way to build a house?" You would have entirely no way of answering that question without sounding biased.
Designing is an art. Even program design. You might do something one way while another person just as good as you designs differently.
But almost none asks about how to
correctly design some framework,
module or just a group of classes.
I hate it when people ask those types of questions, because you have no idea what they want/need to know. Someone could ask me right now how to build a CMS and all I could tell them would be, "Uhh.... build a database and... uh, use it" All CMSs are essentially the exact same thing anyway which is why that question is so dumb. There's not even a reason to put CMS in the question. A content management system is nothing more than a way to manipulate and save data....with class/style!
Frameworks are a dime a dozen anymore too.... and if you're at a point where you want to make your own framework, then there's no reason to even ask how to make one. That's about like asking someone how to shape your name with Legos. If you can't figure it out already, then there's no point in asking.
Even more analogies would include...
- How do I make soup?
- How do I get stronger?
- Which way should I turn my beer tab when I open it?
- What's the proper way to recycle?
- When should a programmer go to bed at night?
- Which finger am i supposed to hit the "P" key with?
The answer to every one of those questions has to be learned/experienced first-hand. No one can teach you these things. Maybe your parents, but it's still biased. Nature vs Nurture and all that.
I think that planning stage is much
more difficult is requires more
mastery than coding one.
You are absolutely right and still.. If you find that you have to ask how to plan your framework, then the end result (if you get any help) will not be your own.
As far as why the questions aren't on StackOverflow, I'd have to guess it's because there is no real answers for them. Although someone can mark it as solved or boost someone's rep to the peak, you'd still find yourself posting more and more questions. Each question escalating in detail. To the point where you find yourself asking a normal reasonable question.. like "What does this error mean?"