最糟糕的坏味及其最糟糕的成因
软件工程
2021-03-18 v1
摘要
本文的目标是:1)识别“最糟糕坏味”,即绝无合理存在理由的代码坏味;2)确定与最糟糕坏味相关的出现频率、易变性与严重度;3)识别“最糟糕成因”,即最初引入这些最糟糕坏味的原因。为实现这些目标,我们对 71 名开发者开展了调查。我们了解到,在 314 种已编目代码坏味中,有 80 种是“最糟糕的”;也就是说,开发者一致认为这 80 种坏味绝不应存在于任何代码库中。随后我们在 27 个大型 Apache 开源项目上检查了这些最糟糕坏味的出现频率与易变性。我们的结果显示,最糟糕与非最糟糕坏味在出现频率和易变性上差异均不显著。也就是说,这些坏味与其他坏味一样具有危害性,但引入它们从来没有任何正当理由。最后,在与五名开发者的后续电话访谈中,我们确认这些坏味确实最糟糕,且受访者提出了其最初可能被引入的七个原因。通过明确识别这七个原因,项目相关方可以借助质量门或评审确保此类坏味绝不被代码库接受,从而在不损害敏捷性或上市时间等其他目标的情况下提升质量。
引用
@article{arxiv.2103.09537,
title = {Worst Smells and Their Worst Reasons},
author = {Davide Falessi and Rick Kazman},
journal= {arXiv preprint arXiv:2103.09537},
year = {2021}
}
备注
TechDebt2021