Dynamic features offered by programming languages provide greater flexibility to the programmer (e.g., dynamic constructions of classes and methods) and reduction of duplicate code snippets. However, the unnecessary use of dynamic features may detract from the code in many ways, such as readability, comprehension, and maintainability of software. Therefore, this paper proposes 20 refactorings that replace dynamic instructions with static ones. In an evaluation on 28 open-source Ruby systems, we could refactor 743 of 1,651 dynamic statements (45%).

Refactorings for replacing dynamic instructions with static ones: The case of ruby / Rodrigues E.; Durelli R.S.; De Bettio R.W.; Montecchi L.; Terra R.. - ELETTRONICO. - (2018), pp. 59-66. (Intervento presentato al convegno 22nd Brazilian Symposium on Programming Languages, SBLP 2018 tenutosi a bra nel 2018) [10.1145/3264637.3264645].

Refactorings for replacing dynamic instructions with static ones: The case of ruby

Montecchi L.;
2018

Abstract

Dynamic features offered by programming languages provide greater flexibility to the programmer (e.g., dynamic constructions of classes and methods) and reduction of duplicate code snippets. However, the unnecessary use of dynamic features may detract from the code in many ways, such as readability, comprehension, and maintainability of software. Therefore, this paper proposes 20 refactorings that replace dynamic instructions with static ones. In an evaluation on 28 open-source Ruby systems, we could refactor 743 of 1,651 dynamic statements (45%).
2018
ACM International Conference Proceeding Series
22nd Brazilian Symposium on Programming Languages, SBLP 2018
bra
2018
Rodrigues E.; Durelli R.S.; De Bettio R.W.; Montecchi L.; Terra R.
File in questo prodotto:
File Dimensione Formato  
2018SBLP.pdf

Accesso chiuso

Tipologia: Versione finale referata (Postprint, Accepted manuscript)
Licenza: Tutti i diritti riservati
Dimensione 549.41 kB
Formato Adobe PDF
549.41 kB Adobe PDF   Richiedi una copia

I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificatore per citare o creare un link a questa risorsa: https://hdl.handle.net/2158/1170406
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact