Code Bad Smells: a review of current knowledge

被引:130
作者
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
来源
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION-RESEARCH AND PRACTICE | 2011年 / 23卷 / 03期
关键词
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
相关论文
共 13 条
  • [1] [Anonymous], 2004, PROCEDURES PERFORMIN
  • [2] BOUQURE P, 2004, GUIDE SOFTWARE ENG B
  • [3] Cushman W.H., 1991, HUMAN FACTORS PRODUC
  • [4] Fowler M., 2018, Refactoring: Improving the Design of Existing Code
  • [5] Glaser B. G., 1965, Theoretical Sensitivity, DOI DOI 10.4324/9780203793206
  • [6] Research in software engineering: an analysis of the literature
    Glass, RL
    Vessey, I
    Ramesh, V
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2002, 44 (08) : 491 - 506
  • [7] MEASUREMENT OF OBSERVER AGREEMENT FOR CATEGORICAL DATA
    LANDIS, JR
    KOCH, GG
    [J]. BIOMETRICS, 1977, 33 (01) : 159 - 174
  • [8] A survey of software refactoring
    Mens, T
    Tourwé, T
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2004, 30 (02) : 126 - 139
  • [9] Monden A, 2002, P 8 IEEE S SOFTW MET
  • [10] SAUNDERS MNK, 2003, RES METHODS BUSINESS, V17, P15