A survey on software smells

✒️ Enzo Sandré · 📆 11/08/2022 · 🦨 Code Smells

🏛️ J’aime les classifications. Alors quoi de mieux qu’un papier classifiant les classifications des odeurs du code ? C’est ce que proposent 2 chercheurs … grecs. Débat de philosophes ou vrai outil ? Analysons leurs résultats.

☣️ Ils ont recensé plus de 200 (!) odeurs du code dans la littérature existante, rangés dans 14 classifications différentes. Pour les chercheurs, toutes ces classifications peuvent être regroupées en 4 cohortes selon qu’elles classifient eles odeurs selon :

👉 Les principes qu’elles violent

👉 Les effets qu’elles produisent

👉 Les types qu’elles touchent (data, interfaces, etc.)

👉 Leur granularité (intra-classe, design, architecture, etc.)

🐜 Cette clarification n’est pas le seul résultat de ce travail de fourmi ! En comparant les travaux des chercheurs, ils ont noté plusieurs problèmes :

🔴 Peu de chercheurs différencient odeur et antipattern avéré.

🔴 Les définitions de certaines odeurs sont contradictoires entre les papiers.

🟡 La détection et la contextualisation automatique de celles-ci est au mieux balbutiante.

🟡 Nous n’avons pas de preuve solide corrélant odeur et baisse de productivité.

🌋 Les odeurs du code sont un champ de recherche très actif, il faudra encore des années avant d’en voir la maturité.

SOURCE :

Tushar Sharma, Diomidis Spinellis, A survey on software smells, Journal of Systems and Software, Volume 138, 2018, Pages 158-173, ISSN 0164-1212, DOI:10.1016/j.jss.2017.12.034.

Enzo Sandré


DOIs: 10.1016/j.jss.2017.12.034