Worst Smells and Their Worst Reasons
Davide Falessi, Rick Kazman

TL;DR
This paper identifies 'worst' code smells that lack justifiable reasons for existence, analyzes their prevalence and impact in open-source projects, and proposes reasons for their introduction to improve code quality management.
Contribution
It introduces a method to identify worst smells, analyzes their frequency and impact, and uncovers reasons for their introduction to enhance quality assurance.
Findings
80 out of 314 catalogued smells are considered worst by developers.
Worst smells are as frequent and change-prone as other smells.
Seven reasons for introducing worst smells were identified.
Abstract
The aims of this paper are: 1) to identify "worst smells", i.e., bad smells that never have a good reason to exist, 2) to determine the frequency, change-proneness, and severity associated with worst smells, and 3) to identify the "worst reasons", i.e., the reasons for introducing these worst smells in the first place. To achieve these aims we ran a survey with 71 developers. We learned that 80 out of 314 catalogued code smells are "worst"; that is, developers agreed that these 80 smells should never exist in any code base. We then checked the frequency and change-proneness of these worst smells on 27 large Apache open-source projects. Our results show insignificant differences, in both frequency and change proneness, between worst and non-worst smells. That is to say, these smells are just as damaging as other smells, but there is never any justifiable reason to introduce them.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
