Sign in to follow this  
Drazgal

Programming Design Books

Recommended Posts

Ive come to realise my weakest aspect of my programming comes from poor design (surprise :P). Although I can visualise and write down overall designs I do tend to skimp way too much on the finer details and such. I blame this on too many little projects to learn new techniques and not enough proper large programs. So I was wondering what programming (not game prorgamming) design books would people reccommend as helpful?

Share this post


Link to post
Share on other sites
Some really helpful books:

Modern C++ Design Generic Programming and Design Patterns Applied

Applied C++ - Practical Techniques For Building Better Software

Design Patterns Elements of Reusable Object-Oriented Software

Also 'Enterprise Architect' is a really helpful programm to structure your way of designing programs. You can download a 30 days trial for free :)

Share this post


Link to post
Share on other sites
You can also take a look at GameDev's own book-section. It contains reviews on quite a number of books in many different categories - one of which is "Software Engineering". You might be able to find some useful programming design books there.
Link to section: http://www.gamedev.net/columns/books/books.asp?CategoryID=17

Share this post


Link to post
Share on other sites
I'd recommend:

Design Patterns by Gamma et al and Refactoring: Improving the Design of Existing Code as a pair that work well together. Martin Fowler describes Patterns as a target for Refactoring. There is now a book called Refactoring To Patterns but I haven't read it.

Up front design is overrated and difficult (impossible?). Refactoring gives you a second chance.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
the difficulty of up-front design is not an excuse for not having a design specificationat all!


Of course, you will have an overall idea of what it is you are creating, who is working on what, how things will generally be divided up. Keeping the design fluid and having tests to back up any changes you make helps you account for unforeseen problems including changing requirements.

There are some good articles on incremental development and a 'parody' of the Waterfall method here. See in particular Iterative and Incremental Development I, II and III. Also Continuous Care vs Initial Design.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this