The reuse of uses in Smalltalk programming

Mary Beth Rosson, John M. Carroll
1996 ACM Transactions on Computer-Human Interaction  
Software reuse, a long-standing and refractory issue in software technology, has been specifically emphasized as an advantage of the object-oriented programming paradigm. We report an empirical study of expert Smalltalk programmers reusing user interface classes in small graphical applications. Our primary goal was to develop a qualitative characterization of expert reuse strategies that could be used to identify requirements for teaching and supporting reuse programming. A secondary interest
more » ... s to demonstrate to these experts the Reuse View Matcher-a prototype reuse tool-and to collect some initial observations of this tool in use during reuse programming. We observed extensive "reuse of uses" in the programmers' work: they relied heavily on code in example applications that provided an implicit specification for reuse of the target class. We called this implicit specification a "usage context." The programmers searched for relevant usage contexts early. They repeatedly evaluated the contextualized information to develop solution plans, and they borrowed and adapted it when the sample context suited their immediate reuse goals. The process of code development was highly dynamic and incremental; analysis and implementation were tightly interleaved, frequently driven by testing and debugging. These results are considered in terms of the tradeoffs that inhere in the reuse of uses and the teaching and tool support that might improve the efficiency and accuracy of this approach to reuse.
doi:10.1145/234526.234530 fatcat:eajvzmai6jh5noaehhztiozxrm