Make Better Design Decisions As You Code
Software systems tend to degrade in design quality as they evolve. In this talk, I introduce design snippets, which are partial design views that help programmers maintain desirable design properties as they modify and extend existing software. Programmers can use design snippets to reason about specific design principles and connect those design principles to code. The Design Snippets Tool,an Eclipse IDE plug-in, automatically generates four types of design snippets from Java code; these snippets are co-displayed with Java source files. Design principles supported by the tool include information hiding and low coupling. User studies show that the Design Snippets Tool helps programmers diagnose design problems, plan changes to code, and confirm that changes to code result in design improvements.