Code Complete Review
Steve McConnell’s is the man behind the book, Code Complete. Its stated goal is to narrow the gap between the knowledge of industry gurus and professors on one hand and common commercial practice on the other. John Dempster in his review goes ahead to describe the book as a mine of useful information and advice on broader issues in designing and producing good software.
My goal is to incorporate this book in my daily routine, digest its contents and do short summaries of the core content. The summaries will be a quick ingest for anyone looking to improve their programming skills especially in regard to programming style and software construction. I hope you find this series extremely handy and informative.
Chapter 1: Welcome to Software Construction
In this chapter McConnel explicitly describes the activities that go into software construction. He highlights the development activities Code-complete will primarily focus on. He describes the book as a dog that nuzzles up to construction, wags its tail at design and testing, and bark at the other development activities. Further, he discusses in detail the vitality of construction in software development.
- Construction is the central activity in software development as it takes a substantial amount of time compared to other development activities.
- Construction is the only activity that is guaranteed to happen in real-world situations with time and budget constraints.
- With a focus on construction, the individual programmer’s productivity can improve enormously
- By improving the construction phase, you effectively improve the whole project.
Construction is used to refer to coding or programming.
Chapter 2:Metaphors for a Richer Understanding of Software Development
Metaphors are extensively used in literature to take an identity or concept that we understand clearly and use it to better understand a lesser-known but similar element. McConnel details various analogies that have been used to explain mystifying science concepts and states the importance of using metaphors to describe software phenomena. Metaphors are of great aid in better understanding the software development process.
- There are no good or bad metaphors; some are better than others.
- Metaphors are heuristics, not algorithms. They are more of searchlights than roadmaps.
- The properties of a good metaphor, or model, are simplicity, relevance, and breadth of the topic it explains.
- Despite the fact that some metaphors are better than others, they are not mutually exclusive
Hope you had a good read. Stay tuned for more of this. Thank you!