On the Alternatives for Composing Batch Refactoring

Eduardo Fernandes, Anderson G. Uchôa, Ana Carla Bibiano, Alessandro F. Garcia
{"title":"On the Alternatives for Composing Batch Refactoring","authors":"Eduardo Fernandes, Anderson G. Uchôa, Ana Carla Bibiano, Alessandro F. Garcia","doi":"10.1109/IWoR.2019.00009","DOIUrl":null,"url":null,"abstract":"Code refactoring is often performed for improving code structures through code transformations. Many transformations, e.g., extracting or moving a method, are applied for at least partially removing code smells. Each code smell is a symptom of a poor code structure that makes hard to read and change the program. Developers often compose two or more interrelated transformations in conjunction (batch refactoring) rather than applying a single transformation. For instance, developers often compose method extractions with method motions to better organize the features realized by classes. We have recently observed cases of batch refactoring performed along with code review in open source projects. We then noticed that composing batches capable of fully removing code smells is quite challenging. Especially, it requires carefully discussing on how two or more transformations complement one another and what to expect from the batch effect on code smell. This position aims to reason about multiple alternatives to support developers on composing their batches. These alternatives should make it easier to compose batches that remove code smells. For this purpose, we exemplify the role of semi-automated tools in gradually recommending transformations, thereby guiding the batch composition in each alternative.","PeriodicalId":393051,"journal":{"name":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-05-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE/ACM 3rd International Workshop on Refactoring (IWoR)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IWoR.2019.00009","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Code refactoring is often performed for improving code structures through code transformations. Many transformations, e.g., extracting or moving a method, are applied for at least partially removing code smells. Each code smell is a symptom of a poor code structure that makes hard to read and change the program. Developers often compose two or more interrelated transformations in conjunction (batch refactoring) rather than applying a single transformation. For instance, developers often compose method extractions with method motions to better organize the features realized by classes. We have recently observed cases of batch refactoring performed along with code review in open source projects. We then noticed that composing batches capable of fully removing code smells is quite challenging. Especially, it requires carefully discussing on how two or more transformations complement one another and what to expect from the batch effect on code smell. This position aims to reason about multiple alternatives to support developers on composing their batches. These alternatives should make it easier to compose batches that remove code smells. For this purpose, we exemplify the role of semi-automated tools in gradually recommending transformations, thereby guiding the batch composition in each alternative.
关于组合批重构的备选方案
代码重构通常是为了通过代码转换来改进代码结构。许多转换,例如,提取或移动一个方法,被应用于至少部分地去除代码气味。每一种代码气味都是糟糕的代码结构的症状,它使程序难以阅读和更改。开发人员经常将两个或多个相互关联的转换组合在一起(批重构),而不是应用单个转换。例如,开发人员经常将方法提取与方法运动组合在一起,以更好地组织由类实现的特性。我们最近在开源项目中观察到批重构与代码审查一起执行的案例。然后我们注意到,编写能够完全去除代码气味的批处理是相当具有挑战性的。特别是,它需要仔细讨论两个或多个转换如何相互补充,以及期望从批处理对代码气味的影响中得到什么。这个职位的目标是找出支持开发人员组合批处理的多种替代方案。这些替代方案应该可以更容易地组成批处理以消除代码异味。出于这个目的,我们举例说明了半自动工具在逐步推荐转换中的作用,从而在每个替代方案中指导批处理组合。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信