In this chapter, the metaphor mentioned is analogous to the metaphor (modeling) approach to understanding software development.
The advantage of metaphor is that its predictable effect can be understood by everyone. Unnecessary communication and misunderstanding is therefore greatly reduced, learning and teaching more quickly, in fact, metaphor is a way to internalize and abstract concepts, it allows people to think on a higher level, so as to avoid the lower levels of error. --femando J.corbato
How to use the software terminal hungry metaphor?
- To increase insight into programming problems and programming processes
- To help think about activities in the programming process and to imagine ways to do things better
Points:
- Metaphors are revelations rather than algorithms, so they tend to be a little random (sloppy)
- Metaphor links the software development process with other activities you are familiar with to help you better understand
- Some metaphors are more cordial than some other metaphors.
- By comparing the building process of the software to the building process of a house, we can find that careful preparation is necessary, and there are differences between large projects.
- By comparing the practice of software development to the tools in the Smart Toolbox, we find that each programmer has many tools, but there is no tool for all the work, and choosing the right tools to adapt to the local conditions is the key to a programmer who can effectively program.
- Different metaphors do not repel each other, and you should use some kind of metaphor that is most beneficial to you.
Code Complete Note-The second chapter uses metaphor to understand software development more fully