Code Complete — Reading Notes 01
First day, start reading the Book: Code Complete
Just some notes for fun…
2.2 The value of metaphors should not be underestimated. Metaphors have the virtue of an expected behavior that is understood by all. Unnecessary communication and misunderstandings are reduced. Learning and education are quicker. In effect, metaphors are a way of internalizing and abstracting concepts, allowing one’s thinking to be on a higher plane and low-level mistakes to be avoided. — Fernando Corbato
2.3 Software Metaphors:science, art, process, driving a car, game, bazaar, gardening, farming, hunting werewolves or drowning with dinosaurs in a tarpit
Plan to throw one away; you will, anyhow — Fred Books
If you plan to throw one away, you will throw away two — Craig Zerouni
Accretion describes the way any oyster makes a pearl, by gradually adding small amounts of calcium carbonate.
Chapter 2: Key Points:
– metaphors are heuristics, not algorithms. As such, they tend to be a little sloppy.
– Metaphors help yu understand the software-development process by relating it to other activities you already know about.
– Treating software construction as similar to building construction suggests that careful preparation is needed and illuminates the difference between large and small projects.
– Thinking of software-development practices as tools in an intellectual toolbox suggests further that every programmer has many tools and that no single tool is right for every job. Choosing the right tool for each problem is one key to being and effective programmer.
– Metaphors are not mutually exclusive. Use the combination of metaphors that works best for you.