Towards a metrics suite for object oriented design
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Object-oriented software metrics: a practical guide
Object-oriented software metrics: a practical guide
Software metrics (2nd ed.): a rigorous and practical approach
Software metrics (2nd ed.): a rigorous and practical approach
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Object-Oriented Design Heuristics
Object-Oriented Design Heuristics
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Scale-free geometry in OO programs
Communications of the ACM - Adaptive complex enterprises
Understanding the shape of Java software
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
An Empirical Study of Class Sizes for Large Java Systems
APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
There is increasing evidence that many object-oriented software size metrics are characterised by scale-free, powerlaw distributions. This means programs will have arbitrarily large components, and the size of the largest component will increase as programs' overall size increases. This directly contradicts a crucial assumption of object-oriented design --- that large programs can be build by combining many small components. In this paper, we present a preliminary study of this contradiction. We illustrate the distribution of several size metrics over a corpus of 100 Java systems, and then investigate the largest classes (according to five size and complexity metrics) from one of those systems. We find that, while some large classes may be explained by code-generation or design patterns, most large classes were examples of poor object-oriented design.