Documenting Design Patterns in Code Eases Program Maintenance
نویسندگان
چکیده
Software design patterns are a promising idea with many advocates. While subjective reports of their usefulness are available, scienti c proof is still missing. We consider the case of programmers using design pattern documentation (in the form of comments in the source program) during maintenance. Is such pattern documentation (PD) helpful for understanding a program more quickly and designing better solutions for given maintenance tasks? We describe a controlled experiment for investigating this question, present its results, and conclude that design pattern documentation can speed up program changes as well as improve their quality.
منابع مشابه
An Experiment Measuring the Effects of Maintenance Tasks on Program Knowledge
Objective: To ascertain whether programmers gain more knowledge about an unfamiliar program by enhancing the code or documenting the code. The context of this work was investigating whether maintenance programmers faced with an unfamiliar system should start by actively working on the system or spend time passively exploring the system before attempting to make changes. Method: We designed a la...
متن کاملDesign Patterns Mining using Subgraph Isomorphism: Relational View
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Mining of design pattern instances is important for program understanding and software maintenance. Hence a reliable design pattern mining is required. Here ...
متن کاملTwo Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance
ÐUsing design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). This paper focuses on the maintenance context and reports on experimental tests of the following question: Does it help the maintainer...
متن کاملEvolution Support by Homogeneously Documenting Patterns, Aspects and Traces
The evolution of complex software systems is promoted by software engineering principles and techniques like separation of concerns, encapsulation, stepwise refinement, and reusability of design solutions. Design patterns capture the expertise for reusable design solutions. Aspect-oriented programming is a methodology that enables the modularization of cross-cutting concerns. Traceability links...
متن کاملREADABLE: An Approach and an Environment for Developing Maintainable Web Software
Software maintenance is expensive and difficult because software is complex and maintenance requires understanding code written by someone else. A key component of maintainability is program understanding. Program understanding, however, is problematic for software developed on the web because web applications comprise a mix of technologies and because the rapid pace of web development often me...
متن کامل