I wouldn't say that was a particularly off-topic question.

A very good book is Large Scale C++ Software Design by John Lakos, ISBN 
0-201-63362-0

Here is a review of it:

http://www.accu.org/cgi-bin/accu/rvout.cgi?from=0au_l&file=l000736a

The main thing it teaches you is how to write a large program so that it's not a 
huge rat's nest, and how to make it testable, including how to write automated 
tests.

If you develop a real application, I strongly recommend writing a unit test for 
every module in the project (every class if it's an object-oriented project). 
You might think this is a lot of extra work but it's really not because it 
reduces debugging time and helps to focus your attention on the task at hand. 
It also helps increase the overall quality of your product.

While Lakos' book does discuss quite a few C++-specific things, much of his 
advice can be applied to almost any language.  Particularly important is his 
discussion of how to measure and manage interdependencies between different 
components of a program.

You should also learn something about methodology and project management.  I 
find eXtreme Programming appealing, although I usually work by myself and a lot 
of its stuff is aimed at small development teams.  XP also emphasizes testing. 
There's an eXtreme Programming Wiki:

http://www.c2.com/cgi/wiki?ExtremeProgrammingRoadmap

There are also some XP books out like eXtreme Programming Explained, but I 
haven't read it.

The ACCU book reviews has a subject section on management:

http://www.accu.org/bookreviews/public/reviews/0sb/management.htm

and writing solid code:

http://www.accu.org/bookreviews/public/reviews/0sb/writing_solid_code.htm

Finally, I have a little stuff I've written myself you might find helpful:

http://linuxquality.sunsite.dk/articles/
http://www.goingware.com/tips/
http://www.byteswap.net/

Best,

Mike
-- 
Michael D. Crawford
GoingWare Inc. - Expert Software Development and Consulting
http://www.goingware.com/
[EMAIL PROTECTED]

      Tilting at Windmills for a Better Tomorrow.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to