Fog Creek Software
g
Discussion Board




Books to Help a Hacker Write Professional Code?

I'm a self-taught programmer, and despite several years of experience, I still have this nagging feeling that the code I write is all hacks.  I want to know that the stuff I'm banging out is actually clean and up to a professional level.

I'm looking for a book out there that will help reassure me as to the best practices for languages like VB/ASP/C++.  I want to know that I'm doing things like error correction appropriately, for instance, rather than adding too much or too little.  Also, things like commenting code, program structure, organization, etc.  I know some of those things can require libraries to themselves - like perfecting OOP for instance - but I guess I'm looking for something broader.

From what I've read, I think Code Complete may be the kind of thing I'm looking for, and I'll probably be picking that up shortly.  Any other favorites?

talentless hack
Tuesday, April 6, 2004

Pragmatic Programmer http://www.amazon.com/exec/obidos/tg/detail/-/020161622X/qid=1081304888/sr=8-1/ref=pd_ka_1/002-6365628-7995219?v=glance&s=books&n=507846

and The Practice of Programming

http://www.amazon.com/exec/obidos/tg/detail/-/020161586X/qid=1081304964/sr=1-1/ref=sr_1_1_xs_stripbooks_i1_xgl14/002-6365628-7995219?v=glance&s=books

are my favorites.

Floridian
Tuesday, April 6, 2004

"Structure and Interpretation of Computer Programs" is a classic (you can read it online for free -- and watch the videos online for free too).  The 'Gang of Four' "Design Patterns" book might be useful to you.  Also, theorists in various analytical fields can provide you with ideas that beg for "elegant" computational solutions.  As for the specific issues that you bring up, maybe it's best to first keep in mind why people care about those things.

For example, good documentation is important because it makes it easier to maintain your software (especially just to understand it if you go away from it for several months and then come back to it).  You can evaluate yourself by going back to old code and figuring out how long it takes before you generally understand the way it's structured (even better is to get somebody who's never seen it to try to figure it out).  Documentation can have a useful side-effect as well: it forces you to understand what you're doing and to do it well.

Most important is to write a lot of (varied) software.  Reading theory is *great*, but it won't stick with you if you don't apply it (or, by retrospection, understand how you could have applied it).


Tuesday, April 6, 2004

Definately Code Complete, but wait for the new version that is due soon.

In the original the programming language are outdated (Pascal mainly) and OO is just a footnote.

The new version is much more up to date.

http://www.stevemcconnell.com/cc2/cc.htm

Ged Byrne
Wednesday, April 7, 2004

If you give a shit about the quality of your code that puts you in a better league of code quality than 90% of your peers. Don't sweat it too much.

(But buy Code Complete when the 2nd edition comes out - what a great book!)

Mr Jack
Wednesday, April 7, 2004

"Write Solid Code" make me from a student to a programmer

dmoz
Saturday, April 10, 2004

*  Recent Topics

*  Fog Creek Home