Show simple item record

Authordc.contributor.authorSilva, Leonardo Humberto 
Authordc.contributor.authorValente, Marco Tulio 
Authordc.contributor.authorBergel, Alexandre 
Admission datedc.date.accessioned2019-05-29T13:30:20Z
Available datedc.date.available2019-05-29T13:30:20Z
Publication datedc.date.issued2017
Cita de ítemdc.identifier.citationLecture Notes in Computer Science, Volumen 10221 LNCS, 2017
Identifierdc.identifier.issn16113349
Identifierdc.identifier.issn03029743
Identifierdc.identifier.other10.1007/978-3-319-56856-0_11
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/168926
Abstractdc.description.abstractJavaScript systems are becoming increasingly complex and large. To tackle the challenges involved in implementing these systems, the language is evolving to include several constructions for programmingin- the-large. For example, although the language is prototype-based, the latest JavaScript standard, named ECMAScript 6 (ES6), provides native support for implementing classes. Even though most modern web browsers support ES6, only a very few applications use the class syntax. In this paper, we analyze the process of migrating structures that emulate classes in legacy JavaScript code to adopt the new syntax for classes introduced by ES6. We apply a set of migration rules on eight legacy JavaScript systems. In our study, we document: (a) cases that are straightforward to migrate (the good parts); (b) cases that require manual and ad-hoc migration (the bad parts); and (c) cases that cannot be migrated due to limitations and restrictions of ES6 (the ugly parts). Six out of eight systems (75%) contain instances of bad and/or ugly cases. We also collect the perceptions of JavaScript developers about migrating their code to use the new syntax for classes.
Lenguagedc.language.isoen
Publisherdc.publisherSpringer Verlag
Type of licensedc.rightsAttribution-NonCommercial-NoDerivs 3.0 Chile
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/
Sourcedc.sourceLecture Notes in Computer Science
Keywordsdc.subjectECMAScript 6
Keywordsdc.subjectJavaScript
Keywordsdc.subjectRefactoring
Títulodc.titleRefactoring legacy javascript code to use classes: The good, the bad and the ugly
Document typedc.typeArtículo de revista
Catalogueruchile.catalogadorlaj
Indexationuchile.indexArtículo de publicación SCOPUS
uchile.cosechauchile.cosechaSI


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Chile
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Chile