Does Refactoring Improve Reusability?
نویسندگان
چکیده
The improvement of the software development process through the development and utilization of high quality and reusable software components has been advocated for a long time. Agile Methods promote some interesting practices, in particular the practice of refactoring, which are supposed to improve understandability and maintainability of source code. In this research we analyze if refactoring promotes ad-hoc reuse of object-oriented classes by improving internal quality metrics. We conduct a case study in a close-to industrial, agile environment in order to analyze the impact of refactoring on internal quality metrics of source code. Our findings sustain the hypothesis that refactoring enhances quality and reusability of – otherwise hard to reuse classes in an agile development environment. Given such promising results, additional experimentation is required to validate and generalize the results of this work.
منابع مشابه
Empirical investigation of refactoring effect on software quality
Developers and designers always strive for quality software. Quality software tends to be robust, reliable and easy to maintain, and thus reduces the cost of software development and maintenance. Several methods have been applied to improve software quality. Refactoring is one of those methods. The goal of this paper is to validate/invalidate the claims that refactoring improves software qualit...
متن کاملA Graph-Based Algorithm for Automated Refactoring
Software reuse is advocated for increasing the productivity of software engineers and improving the quality of software. As software-reuse practices are institutionalized, there must be formal techniques and associated methodologies for software engineers to accurately assess and increase the potential and actual reuse of software artifacts. The goal must be to support domain-and-organization r...
متن کاملEffect of Refactoring on Software Quality
Software quality is an important issue in the development of successful software application. Many methods have been applied to improve the software quality. Refactoring is one of those methods. But, the effect of refactoring in general on all the software quality attributes is ambiguous. The goal of this paper is to find out the effect of various refactoring methods on quality attributes and t...
متن کاملTowards the Formalization of a Reusability Framework for Refactoring
As industry and academia embrace component and objectbased design models, programming languages, technologies, and tools, they are outpacing our ability to formally define models and frameworks supporting organization and domain specific reuse. For software engineers to accurately assess potential and actual reuse of software artifacts, we must transition from ad-hoc reuse to a evaluative parad...
متن کاملRefactoring Aspect-Oriented Programs
Refactoring is the process of changing a program to improve its internal structure and reusability, without altering the external behavior of the program. It is a disciplined way to clean up code that minimizes the chances of introducing bugs. In this paper, we propose a systemic approach to refactoring aspect-oriented programs. To this end, we rst investigate the impact of existing object-orie...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006