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

Hello, I am Abiud Orina. I am going to do a 17 part book review of the book Code Complete by Steve Mcconnel.

Review methodology

What is code complete?

Chapter 1: Welcome to software construction

What is software construction?

Construction is the hands-on part of creating something.

In informal projects, the main activity you think of when you think about creating software is what we call Software Construction. Software construction is not at all mechanical but it involves substantial creativity and judgment

Why is software construction important?

  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


Improving construction is thus a way of improving any software development effort. By sharing knowledge of the good practices of software construction, it becomes easier to improve any piece of software out there. The author acknowledges the importance of software construction. However, the author does not elaborate clearly on how it can be used in the software development endeavor.

Chapter 2: Metaphors for a Richer Understanding of Software Development

What is a metaphor?

A good metaphor is simple, relates well to other relevant metaphors, and explains much of the experimental evidence

Metaphors contribute to a greater understanding of software-development issues in the same way that they contribute to a greater understanding of scientific questions

How can we use software metaphors?

A metaphor is more of a heuristic than an algorithm. It enables you to identify the problem and come up with a solution rather than follow a set of steps to arrive at a solution.

I agree with the author that metaphors can be used in problem-solving to gain insight into programming problems, and imagine better ways of doing things. This is gold for every problem solver out there

What are the common software metaphors?

I personally like the software farming method to an extent because it easily applies to the daily activities I do as a software developer. However, like any piece of software, it cannot be written like a book since you have to do several iterations on software before coming up with the final product.

How can we combine metaphors?


Also, check out my review on chapter 3 and 4



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