arrow
返回

Understanding refactorings in Elixir functional language

delete2025-05-07
delete0
PRE
AI
L
Lucas Francisco da Matta Vegi *
M
Marco Túlio Valente
DOI:10.1007/s10664-025-10652-ydelete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Elixir是一种现代函数式语言,以其健壮性和可扩展性而闻名。在过去12年中,全球范围内的公司越来越多地采用这种语言。尽管如此,据我们所知,在现有文献中,专门研究针对这种语言实现的代码重构策略的研究很少。在一项初步的前期研究中,我们进行了一项系统文献综述,以提供Elixir的初步重构列表。为了扩展这项初步研究的结果,在本工作中,我们采用了一种混合方法,基于更广泛的系统文献综述、灰色文献综述以及GitHub仓库中的工件挖掘,来探索和记录该语言的新重构方法。作为结果,我们提出了一份包含82项重构的全面目录,其中包括14项针对Elixir特有的新重构、32项针对函数式语言的重构、11项与Elixir兼容的Erlang特定转换,以及25项由Fowler编录的传统重构,这些也与Elixir代码兼容。我们通过调查来自42个国家的144名经验丰富的Elixir开发人员(覆盖各大洲)来验证该目录。在该调查中,我们评估了目录中每项重构的相关性和普遍性水平。我们表明,93%的Elixir重构至少具有中等相关性,表明它们可以改善Elixir系统的代码质量。此外,这些重构中有71%在生产代码中经常使用。我们的结果对Elixir中重构的学习和使用具有实际意义。
Keyword:
Refactorings
Elixir
Functional programming
Systematic literature review
Grey literature review
Mining software repositories

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

U
Univ Fed Minas Gerais
学者数:
1.2K
论文数: 422
被引数: 129
引用论文

引用论文

Introducing records by refactoring通过重构引入记录
err2007-10-05
err0
PREAI
errLászló Lövei; Zoltán Horváth; Tamás Kozsik; Roland Király
err分享
err收藏
err
IF0
err
err0
errOAAI
err
err分享
err收藏
The HERMIT in the Tree树上的 HERMIT
err2013-11-16
err0
PREAI
errNeil Sculthorpe; Andrew Farmer; Andy Gill
err分享
err收藏
学者 查看更多内容