arrow
Return

Refactoring react-based Web apps☆

delete2024-09-01
delete0
PRE
AI
F
Fábio Ferreira *
H
Hudson Silva Borges
M
Marco Túlio Valente
DOI:10.1016/j.jss.2024.112105delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Refactoring is a well-known technique to improve software quality. However, there are relevant domains where refactoring has not been studied in-depth before, such as JavaScript front-end frameworks. To fill this gap, we empirically study refactorings that developers perform when maintaining and evolving REACT-based Web applications. By manually inspecting 320 refactoring commits performed in open source projects, we catalog 69 distinct refactoring operations of which 25 are specific to REACT code, 17 are adaptations of traditional refactorings for the REACT context, 22 are traditional refactorings, and six are specific to JavaScript and CSS code. The catalog of refactorings proposed in this article might support practitioners when improving the maintainability of REACT applications.
Keywords:
Refactoring
React
JavaScript
Software design

Journal

Journal of Systems and Software cover
Journal of Systems and Software
IF:
4.1
Papers:
5.5K
Citations:
8.4K

Organization

U
Universidade Federal de Minas Gerais
Scholars:
2.5W
Papers: 1.5W
Citations: 1.4W
Cited Papers

Cited Papers

err
IF0
err
err0
PREAI
err
errShare
errSave
Identification of Move Method Refactoring Opportunities
err2009-05-01
err274
PREAI
errTsantalis, Nikolaos; Chatzigeorgiou, Alexander
errShare
errSave
How We Refactor, and How We Know It
err2012-01-01
err327
PREAI
errMurphy-Hill, Emerson; Parnin, Chris; Black, Andrew P.
errShare
errSave
EMG Patterns of the Elbow- and Shoulder-Operating Muscles in Slow Parafrontal Upper Limb Movements under Isotonic Loading
err2019-04-18
err0
PREAI
errI. V. Vereshchaka; A. V. Gorkovenko; O. V. Lehedza; T. I. Abramovych; W. Pilewska; M. Zasada; A. I. Kostyukov
errShare
errSave
errShare
errSave
errShare
errSave
Code smells for Model-View-Controller architectures
err2017-09-12
err55
PREAI
errAniche, Mauricio; Bavota, Gabriele; Treude, Christoph; Gerosa, Marco Aurelio; van Deursen, Arie
errShare
errSave
researcher View more