views:

99

answers:

5

Hi,

I was programming for a while. Starting at school, writing small utility programs as a hobby and now professionally. My problem is I'm getting distracted while writing software (I come up with a new feature and fallow it immediately) so my code is usually disorganized. Now when I’m starting my career as a professional developer I find out that even though my software works pretty well the code doesn’t look pretty. I often find myself creating to many or to little classes – sometimes it just doesn’t feel right. Overall I’m losing precious time when I could earn money doing another project.

I’m looking for a book that will teach me how to design software structure without juggling the code in the middle of the creation process.

+7  A: 

Code Complete by Steve McConnell. This is a very good book about how to write code.

Martin Liversage
And don't worry, Code Complete 2 is a more than worthy successor! (-:
Rob Wells
+4  A: 

G'day,

As well as books, I'd definitely recommend watching the MIT series "Structure and Interpretation of Computer Programs" by Hal Abelson and Gerald Sussman.

There is a link on that page through to a free on-line copy of the matching text book as well.

HTH

cheers,

Rob Wells
+1  A: 
Andreas Grech
BEGONE DIRTY THOUGHTS
Jason
yea yea...well not everyone has a grudge about design patterns
Andreas Grech
A: 

If you're starting to get a good handle on the dos and don'ts of object-oriented programming, you can actually get the best of both worlds - being able to quickly make changes to the design of a program without the result looking like an unplanned mess. To a certain extent of course!

Code Complete mentioned above is a great book, other books specific to C# are Essential C# and its sequel. I'd pay extra attention to the concepts of isolation of responsibilities (Model-View-Controller), cohesion and coupling. In general, try to design from the ground up in such a way that changing one part of the system does not necessitate changing the whole application. Also, try to write your code with readability in mind.

odd parity