Code Craft
The Practice of Writing Excellent Code

A fun read and practical advice on writing good code.

By: Staff


One of the older arguments among programmers has to be, "What is programming?" Is it a trade or a science or something else? By its name, Code Craft would indicate the author leans towards it being a trade, more so than an abstract science.

This is a fun book to read-- despite the comics and quotes ranging from Biblical to Tolkien that are liberally spread throughout the book and the lyrically-named chapters-- once you start reading it, you realize it's packed with practical advice. A lot of the book deals with-- usually through cautionary examples-- how time or management pressures lead to bad decisions and their consequences.

The book starts of with “At the Codeface,” a section that deals with the technical and practical side of writing code: organizing, naming things and documenting. This is broken up into several chapters on writing understandable code (grouping related functions, emphasis important code, etc.) and writing good comments. There's a lot of short code examples, mostly in C/C++, showing how to do (or not) many of the subjects covered in the book.

The next section is “The Secret life of Code” and covers debugging, finding problems, discovering efficiencies and security. This first starts off with a chapter on the various tools available to the programmer; from code profilers to debuggers and other tools available. Other chapters look at the various types testing (black box, glass box, etc.), error handling, security and efficiency.

In “The shape of Code,” the reader is taught to deal with the high-level: architectures, design and code growth, specifically designing software to grow as needs change over time.

“A Herd of Programmers,” takes a look at the real problems of working in teams. There's more than one real world example that hit home here. Covered here is are the general types of programmers, version control and issues related to teams in general, specifically how to get people working well together.

The next section, Part of the Process deals with creating specifications, code review and the black art of time estimation.

Finally, “View from the top,” looks at the actual code development methodologies like the waterfall model, and agile methodologies as well as coming up with predictable schedules. The middle chapter looks at the some of the different disciplines of programming such as game and application programming with the special challenges of each. The section then wraps up with a chapter on where to go from here.

At approximately 560 pages and almost 4 centimetres thick, this is a good sized book to lug around on the subway. What it's not is a dry text about the intricacies of developing computer-science good software- in fact, one of the books strengths is the numerous examples of how software development really done- and how to still do it well under non-ideal circumstances. Recommended.

Date published: 08-Feb-2007





PHP and MySQL Web Development

Programming with PHP and MySQL with security in mind.

CakePHP Applications Development

Learning the CakePHP 1.2 framework though examples.

Prototype and script.aculo.us

Using the Prototype and script.aculo.us Javascript libraries to simply your life.

Algorithms in a Nutshell

Before picking an algorithm know what problem you're trying to solve.

Learning jQuery 1.3

Learning to use jQuery to build better websites, though examples and popular plug-ins.


2017 YYZTech

For American computers stores, visit: AmericanComputerDealer.com