Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Refactoring dynamic languages
Reia R., Menezes Leitão A.  ELS 2016 (Proceedings of the 9th European Lisp Symposium, Kraków, Poland, May 9-10, 2016)5-12.2016.Type:Proceedings
Date Reviewed: Jan 25 2017

Novice programmers might benefit from code refactoring, but refactoring tools are mostly available in development environments requiring more experience than most novices possess. This paper describes a project to augment a pedagogically appropriate development environment with refactoring tools so novices may benefit from code refactoring. The result is a development environment for a Scheme-based language that more or less automatically corrects typically awkward novice code sequences and imparts a sense of acceptable code style.

The three project tasks described are selecting the refactorings to provide, implementing the refactoring using development environment facilities, and presenting the refactoring tools in a helpful way. A review of prior efforts fixes an implementation based on abstract syntax trees and def-use chains. An analysis of the features and tools available in DrRacket, the target development environment, adds more implementation details involving macro expansion and code manipulation as well as workarounds for the lack of specific type information. The refactorings implemented are bounded by implementation capabilities and the refactorings most useful to novices, which are mostly code simplifications. Presenting the refactorings to novices is the trickiest task, and represents a fertile ground for further work. Evaluation of student examples shows the refactorings are helpful, particularly with respect to improving poorly structured code.

The paper is well organized, short, and easy to read. The bibliography is to the point. Readers interested in implementation matters are best served by the paper; readers interested in pedagogic matters will find the paper mildly provocative.

Reviewer:  R. Clayton Review #: CR145023 (1704-0232)
Bookmark and Share
  Reviewer Selected
 
 
Applicative (Functional) Programming (D.1.1 )
 
 
Restructuring, Reverse Engineering, And Reengineering (D.2.7 ... )
 
 
Programming Languages (D.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Applicative (Functional) Programming": Date
Functional programming with Hope
Bailey R., Ellis Horwood, Upper Saddle River, NJ, 1990. Type: Book (9780133382372)
May 1 1992
Prospects for functional programming in software engineering
Banâtre J., Jones S., Le Métayer D. (ed), Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387538525)
Aug 1 1992
An introduction to functional programming
Bird R. (ed), Wadler P., Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1988. Type: Book (9780134841892)
May 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy