Learning software design

YahoKa

Member
Jan 20, 2003
66
0
0
Ok, so I am a decent programmer. I can code in a variety of languages, have good understanding of general hardware and general CPU design, have good computer math and logic understanding, good datastructures and OOP understanding. Basically I can program what I need.

But there is one thing that I can't do, and I don't know how to learn to do: Software design. How do I organize my code? How do I split code between various files? How do I decide how much do in the main method?

Can anyone point me to some free resources to learn some of these topics?