  Code reuse is an important part of software development. The adoption of code
reuse practices is especially noticeable in Node.js. The Node.js package
manager, NPM, contains over 1 Million packages and developers often seek out
packages to solve programming tasks. Due to the vast number of packages,
selecting the right package is difficult and time consuming. With the goal of
improving productivity of developers that heavily reuse code through
third-party packages, we present Node Code Query(NCQ), a custom Read-Eval-Print
Loop environment that allows developers to 1) search for NPM packages using
natural language queries, 2) search for code snippets related to those
packages, 3) quickly setup new environments for testing those snippets, and 4)
transition between search and editing modes. Our user study shows that
participants began programming faster and concluded tasks faster with NCQ than
with a baseline approach, and that they liked, among other features, the search
for code snippets and packages. Our results suggest that NCQ makes Node.js
developers more efficient in reusing code.
