中文

可变性对 Java 中的环路复杂度的影响

软件工程 2024-10-15 v1

摘要

在 Java 中,一些对象属性是可变的,而另一些则是不可变的(附加了 "final" 修饰符)。具有至少一个可变属性的对象可称为 "可变" 对象。我们怀疑,可变对象比不可变对象具有更高的麦卡比循环复杂度(CC)。为验证这一直觉,我们分析了来自 1000 个开源 GitHub 仓库的 862,446 个 Java 文件。我们的结果表明,不可变对象几乎是可变对象的三分之一复杂。因此,可以假设使用更多的不可变类可降低代码库的总体复杂度和可维护性。

关键词

引用

@article{arxiv.2410.10425,
  title  = {The Impact of Mutability on Cyclomatic Complexity in Java},
  author = {Marat Bagaev and Alisa Khabibrakhmanova and Georgy Sabaev and Yegor Bugayenko},
  journal= {arXiv preprint arXiv:2410.10425},
  year   = {2024}
}