Normalizing Object-oriented Class Styles in JavaScript

Loading...
Thumbnail Image

Authors

Gama, Widd

Date

2013-01-22

Type

thesis

Language

eng

Keyword

Computer science , normalization , Classes , object-oriented , migration , JavaScript

Research Projects

Organizational Units

Journal Issue

Alternative Title

Abstract

JavaScript is the most widely used client-side scripting language, and has become increasingly popular as a crucial component of the AJAX technology. JavaScript is a dynamic, weakly typed, multi-paradigm programming language that supports object-oriented, imperative, and functional programming styles. Many di erent programmers appreciate this exibility when implementing complex and interactive web applications. This wide range of possible styles can hinder program comprehension and make maintenance di cult, especially in large projects involving many di erent programmers. A particular problem is the several di erent ways in which objectoriented classes can be expressed in JavaScript. In this work we aim at enhancing the maintainability of object-oriented JavaScript applications by automatically normalizing the representation of classes to a single model. We begin by analyzing the di erent ways that JavaScript programmers have represented the class concept, identifying and cataloguing the di erent class patterns used in the language. We choose one of these, and show how it is possible to automatically migrate JavaScript applications from any mix of class styles to the chosen one, making it easier to understand and maintain object-oriented JavaScript programs.

Description

Thesis (Master, Computing) -- Queen's University, 2013-01-22 09:29:10.693

Citation

Publisher

License

This publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.

Journal

Volume

Issue

PubMed ID

External DOI

ISSN

EISSN