What is code design?

Robert C. Martin said the following in his book, Agile Software Development: Principles, Patterns, and Practices (Martin, 2002):

The design of a software project is an abstract concept. It has to do with the overall shape and structure of the program as well as the detailed shape and structure of each module, class, and method. It can be represented by many different media, but its final embodiment is source code. In the end, the source code is the design.

Wait for a second, how can the source code be the design? This doesn't make sense, does it? The source code is part of the final software product itself. If source code were the design, we wouldn't need to do design anymore because we just need to write code. This seems absurd, right?

This fresh point of view might strike you. And here, we will not try to prove that the source code is the design, as Jack W. Reeves wasn't proving it in his visionary essay What is Software Design?, which was first published in Fall, 1992 in the C++ journal, now available on developer.* (http://www.developerdotstar.com/mag/articles/reeves_design_main.html).

As a matter of fact, the idea that the source code is the design is not a formula that needs to be proved. It's just a different opinion about the relationship between software design and coding, looking from a different angle. And it is always a good idea to get a second opinion.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.206.112