Code Bad Smells: a review of current knowledge

被引:129
|
作者
Zhang, Min [1 ,2 ]
Hall, Tracy [3 ]
Baddoo, Nathan [1 ,2 ]
机构
[1] Univ Hertfordshire, Sch Comp Sci, Hatfield AL10 9AB, Herts, England
[2] Univ Hertfordshire, Syst & Software Res SSR Grp, Hatfield AL10 9AB, Herts, England
[3] Brunel Univ, Uxbridge UB8 3PH, Middx, England
关键词
Systematic Literature Review; Code Bad Smells; refactoring; empirical software engineering;
D O I
10.1002/smr.521
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Fowler et al. identified 22 Code Bad Smells to direct the effective refactoring of code. These are increasingly being taken up by software engineers. However, the empirical basis of using Code Bad Smells to direct refactoring and to address 'trouble' in code is not clear, i.e., we do not know whether using Code Bad Smells to target code improvement is effective. This paper aims to identify what is currently known about Code Bad Smells. We have performed a systematic literature review of 319 papers published since Fowler et al. identified Code Bad Smells (2000 to June 2009). We analysed in detail 39 of the most relevant papers. Our findings indicate that Duplicated Code receives most research attention, whereas some Code Bad Smells, e.g., Message Chains, receive little. This suggests that our knowledge of some Code Bad Smells remains insufficient. Our findings also show that very few studies report on the impact of using Code Bad Smells, with most studies instead focused on developing tools and methods to automatically detect Code Bad Smells. This indicates an important gap in the current knowledge of Code Bad Smells. Overall this review suggests that there is little evidence currently available to justify using Code Bad Smells. Copyright (C) 2010 John Wiley & Sons, Ltd.
引用
收藏
页码:179 / 202
页数:24
相关论文
共 50 条
  • [1] Visualizing Code Bad Smells
    Hammad, Maen
    Alsofriya, Sabah
    [J]. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2019, 10 (05) : 281 - 286
  • [2] A Systematic Literature Review: Code Bad Smells in Java']Java Source Code
    Gupta, Aakanshi
    Suri, Bharti
    Misra, Sanjay
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2017, PT V, 2017, 10408 : 665 - 682
  • [3] Bad smells -: Humans as code critics
    Mäntylä, MV
    Vanhanen, J
    Lassenius, C
    [J]. 20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, : 399 - 408
  • [4] A detection tool for code bad smells in java source code
    Gupta, Aakanshi
    Suri, Bharti
    Wadhwa, Bimlesh
    [J]. Advances in Intelligent Systems and Computing, 2021, 1086 : 479 - 488
  • [5] Automatic detection of bad smells in code: An experimental assessment
    Fontana, Francesca Arcelli
    Braione, Pietro
    Zanoni, Marco
    [J]. JOURNAL OF OBJECT TECHNOLOGY, 2012, 11 (02):
  • [6] A taxonomy and an initial empirical study of bad smells in code
    Mäntylä, M
    Vanhanen, J
    Lassenius, C
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, : 381 - 384
  • [7] Do they Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
    Palomba, Fabio
    Bavota, Gabriele
    Di Penta, Massimiliano
    Oliveto, Rocco
    De Lucia, Andrea
    [J]. 2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, : 101 - 110
  • [8] Grading Code Quality of Programming Assignments Based on Bad Smells
    Chen, Woei-Kae
    Tu, Pin-Ying
    [J]. 2011 24TH IEEE-CS CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEET), 2011, : 559 - 559
  • [9] The Effect of Lexicon Bad Smells on Concept Location in Source Code
    Abebe, Surafel Lemma
    Haiduc, Sonia
    Tonella, Paolo
    Marcus, Andrian
    [J]. 11TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2011), 2011, : 125 - 134
  • [10] Analyzing Code Evolution to Uncover Relations between Bad Smells
    Lozano, Angela
    Mens, Kim
    Portugal, Jawira
    [J]. 2015 IEEE 2ND INTERNATIONAL WORKSHOP ON PATTERNS PROMOTION AND ANTI-PATTERNS PREVENTION (PPAP), 2015, : 1 - 4