Code Complete: A closer examination (Chapter 1 and 2)

Review methodology

This review heavily focuses on what I learned from the book with a view of picking out and noting the most important points from the book. This review will also be done in the form of a QA, where I ask a question and answer it. This will better guide my thinking around presenting my ideas on the book. Now, let’s dive right in, shall we?

What is code complete?

Code complete is a book written by Steve McConnel. The book has been highly used since it’s publishing, my software developers around the world. It is considered one of the best practice guidelines for software programming.

Chapter 1: Welcome to software construction

In this chapter, the author discusses the importance of software construction and how it is an important activity in software development.

What is software construction?

Why is software construction important?

Software construction is important for many reasons but mainly because:

  1. It is a large part of software development — It takes 30 to 80 percent of the total time taken to develop a project to completion
  2. It is the central activity in software development. Planning and requirement specification all happen before construction. Testing and integration also happen after construction
  3. With a focus on construction, the individual programmer’s productivity can improve enormously

Chapter 2: Metaphors for a Richer Understanding of Software Development

What is a metaphor?

A metaphor is a way of comparing something you understand poorly to something you understand better.

How can we use software metaphors?

A software metaphor is more like a searchlight than a road map. It doesn’t tell you where to find the answer; it tells you how to look for it.

What are the common software metaphors?

The author introduces us to a few of the common software metaphors which include Software Penmanship which compares the process of writing a piece of software to the process of writing a letter, Software Farming which envisions the process of creating software for the planting of crops, Software Oyster Farming which teaches the value of creating software by creating small bits at a time, thereby making incremental changes towards the final product, and many more.

How can we combine metaphors?

We can use combinations of metaphors in order to stimulate our heuristic thinking during problem-solving. We often start out a piece of software by writing an idea down somewhere, and then later work on it by proceeding to do proper planning of the problem, and coming up with an amazing solution.


In this chapter, the author introduces us to the importance of metaphors and how they support software development. However, just as with any powerful tool, metaphors can also be destructive. This is a very important point made by the author because if you use the wrong metaphors, the consequences might be catastrophic.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store