Software Engineering discussion

Code Complete > Design in Construction

Comments Showing 1-3 of 3 (3 new)    post a comment »
dateDown arrow    newest »

message 1: by Brad (new)

Brad (bradrubin) | 264 comments Mod
Whew... a long, rich, fire hose of a chapter that should probably have been broken up into several chapters. It covers everything from top down hierarchical design and refinement to information hiding to design patterns to design methodologies to documentation strategies, and I am just scratching the surface. This chapter does cover many topics ignored in other texts. I also like the quotes and references that appear here.

The discussion of information hiding, complete with examples, and the coupling issues were very well done. I also liked the discussion of top-down vs. bottom-up vs. doing both, and the artistic, heuristic, sloppy, non-deterministic, and intangible aspects of doing good design.

The treatment of design, class and object identification, were pretty light (probably more coming up), but whole books have been written about this alone. There is a surprising lack of discussion on analysis in the context of the levels of design. I think the benefits of inheritance are oversold here, and the prohibition of prototypes turning into production code is too harsh.

All in all, a lot of good advice.

message 2: by Erik (new)

Erik | 165 comments I liked the "design is emergent" theme. That makes me recall several areas and concepts from the GEB book.

There are good quotes and references to other books. I think MMM has been referenced in each chapter so far.

I started feeling like "I know this stuff", so I reread the preface section "Who Should Read This Book?". I fit in each of the 3 categories of that section in different ways. Now, I feel like I should definitely be reading this to refresh and improve.

message 3: by Aleksander (new)

Aleksander Shtuk | 84 comments I think I can use this chapter as a quick reference to a good software design guidelines. This chapter wasn’t intended to cover in details all of the design aspects, but for me it does a good job touching most of the information that I’ve learned so far from my Software Analysis and Design class, certainly to a slighter level of details. I’m not a big fan of examples provided in 5.3 Design Building Blocks: Heuristics section of this chapter. My favorite sections are Guidelines for Using Heuristics and Design Practices. I added few books from Additional Sources section to my reading plan.

back to top