Reuse is a key benefit of object-oriented programming. It is universally accepted as the most tangible beneficial result in OO development, and is used to convince people from first year programming students to company managers of the importance of quality software code. More than one software engineer has proclaimed that wide-scale adoption of reuse practices is poised to revolutionize the programming landscape. As such, developers are often charged with reusing earlier software code.
In a perfect world, the software being reused would be flawless. It would have been created from scratch, with the purpose of being reused in the future, and it would plug seamlessly into the current application under development. In reality, even the most reusable code is not quite so compartmentalized. Significant planning at the design stage is needed in order to ensure that the code is reusable, and that future applications will indeed be able to take advantage of it without needing to rewrite a significant portion of it.
Enter the Design Reuse Evalutations. The DRE is a tool to be used when designing and coding the initial system. The developer will identify the code that he intends on making reusable for future applications. After instructing the DRE tool in some basic concepts about the software application, the DRE calculates the "reusability ability" of the developing code. Used and reused iteratively thoughout the development cycle, the DRE can warn the developer if the code being created starts to prevent good reuse. After the conclusion of the project, the DRE tool can determine whether individual code modules can indeed be reused in applications in the future.