首页> 外文会议>International Conference on Technical Debt >Worst Smells and Their Worst Reasons
【24h】

Worst Smells and Their Worst Reasons

机译:最糟糕的气味和他们最糟糕的原因

获取原文

摘要

Code bad smells are symptoms of poor design and implementation. There are several well-known smell types, such as large classes (aka God classes), code clones, etc. and they have been shown to lead to technical debt and hence to decrease code maintainability. Quality gates are a recent technology that prevents the automatic acceptance of push requests of code commits that have been identified as containing certain smells. However, it is a challenging activity to decide which smells should be included in the quality gate, as developers may choose to optimize short term benefits like time to market over long term benefits like maintainability. But some smells appear to provide no benefit to developers whatsoever and hence such smells should always be avoided. 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. Finally, in follow-up phone interviews with five developers we confirmed that these smells are indeed worst, and the interviewees proposed seven reasons for why they may be introduced in the first place. By explicitly identifying these seven reasons, project stakeholders can, through quality gates or reviews, ensure that such smells are never accepted in a code base, thus improving quality without compromising other goals such as agility or time to market.
机译:代码差的气味是设计和实施不佳的症状。有几种众所周知的嗅觉类型,例如大型课程(AKA上帝课程),代码克隆等,它们已被证明导致技术债务,从而降低代码可维护性。优质门是最近的技术,可防止自动接受已识别为包含某些气味的代码提交请求。然而,决定应该包括在质量门中的嗅觉是一个具有挑战性的活动,因为开发人员可以选择优化像时间长期利益的时间相同的短期好处,如可维护性。但是一些气味似乎为开发人员提供了任何好处,因此应该始终避免这种嗅觉。本文的目的是:1)鉴定“最糟糕的气味”,即从未具有存在的良好理由的令人难度的嗅觉,2)以确定与最糟糕的气味相关的频率,变化透明和严重程度,以及3)识别“最糟糕的原因”,即首先引入这些最糟糕的气味的原因。为了实现这些目标,我们用71个开发人员举行了调查。我们了解到314个编目的代码闻起来的80个是“最糟糕的”;也就是说,开发人员同意在任何代码库中都不应存在这80个气味。然后,我们检查了27个大型Apache开源项目上这些最糟糕的味道的频率和变化。我们的结果表明,在最坏和不太闻名的嗅觉之间,频率和改变典型的差异微不足道。也就是说,这些嗅觉与其他气味一样损坏,但从来没有任何合理的理由介绍它们。最后,在与五个开发人员的跟进电话采访中,我们确认这些气味确实是最糟糕的,受访者提出了七个原因,为什么他们可以首先引入。通过明确识别这一七个原因,项目利益相关者可以通过优质盖茨或评论,确保在代码基础中从未接受这种嗅觉,从而提高了质量,而不会影响其他目标,例如敏捷或上市时间。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号