Code smells are symptoms of poor design and implementation choices, which might hinder comprehension, increase code complexity and fault-proneness and decrease maintainability of software systems. The aim of our study was to perform a triangulation of bibliometric and thematic analysis on code smell literature production. The search was performed on Scopus (Elsevier, Netherlands) database using the search string code smells which resulted in 442 publications. The Go-to statement was the first bad code smells identified in software engineering history in 1968. The literature production trend has been positive. The most productive countries were the United States, Italy and Brazil. Eight research themes were identified: Managing software maintenance, Smell detection-based software refactoring, Architectural smells, Improving software quality with multi-objective approaches, Technical debt and its instance, Quality improvement/assurance with mining software repositories, Programming education, Integrating the concepts of anti-pattern, design defects and design smells. Some research gaps also emerged, namely, New uncatalogued smell identification; Smell propagation from architectural, design, code to test, and other possible smells; and Identification of good smells. The results of our study can help code smell researchers and practitioners understand the broader aspects of code smells research and its translation to practice.
翻译:守则的嗅觉是设计和实施选择不当的症状,这可能阻碍理解、增加守则的复杂性和故障易发性,并降低软件系统的可维护性。我们的研究目的是对代码气味文献生产进行三轨比光度和专题分析,对Scopus(荷兰埃尔塞维尔)数据库进行搜索,使用搜索字符串编码的嗅觉搜索,导致442份出版物。从上到下的说明是1968年软件工程史中发现的第一个坏代码的嗅觉。文献制作趋势是积极的。最有生产力的国家是美国、意大利和巴西。确定了8个研究主题:管理软件维护、检测基软件的嗅觉再构件、建筑气味、建筑气味的气味、以多目标方法改进软件质量、技术债务及其实例、质量改进/保证与采矿软件储存库相结合、规划教育、整合反专利、设计缺陷和设计气味等概念。还出现了一些研究差距,即新的未说明性气味识别;从建筑、设计、代码到测试和其他可能的气味;以及确定良好气味做法。我们研究的研究结果可以帮助研究人员进行更广义的嗅觉学。