ABSTRACT
Large, unwieldy classes are a significant maintenance problem. Programmers dislike them because the fundamental logic is often obscured, making them hard to understand and modify. This paper proposes a solution - a semi-automatic technique for splitting large classes into smaller, more cohesive ones. The core of the technique is the use of betweenness clustering to identify the best way of partitioning a class. This turned a tedious manual process into a quick and simple semi-automated one in roughly one third of the cases we examined.
Index Terms
- Towards Automating Class-Splitting Using Betweenness Clustering
Recommendations
A Cohesion Measure for Classes in Object-Oriented SystemsYong Rae Kwon
METRICS '98: Proceedings of the 5th International Symposium on Software MetricsClasses are the fundamental concepts in the object-oriented paradigm. They are the basic units of object-oriented programs, and serve as the units of encapsulation, which promotes the modifiability and the reusability of them. In order to take a full ...
A software metric for coherence of class roles in Java programs
PPPJ '07: Proceedings of the 5th international symposium on Principles and practice of programming in JavaThe purpose of software metrics is to measure the quality of programs. The results can be for example used to predict maintenance costs or improve code quality. An emerging view is that if software metrics are going to be used to improve quality, they ...
Metrics for class cohesion and similarity between methods
ACM-SE 44: Proceedings of the 44th annual Southeast regional conferenceClass cohesion is one of the desirable properties in object oriented designs. But, designers and managers need a good metric for this property to help them evaluate, compare and choose among various possible solutions to a given problem. In this paper, ...
Comments