咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Refactoring in Computational N... 收藏

Refactoring in Computational Notebooks

作     者:Liu, Eric S. Lukes, Dylan A. Griswold, William G. 

作者机构:Univ Calif San Diego Comp Sci & Engn 9500 Gilman Dr La Jolla CA 92093 USA 

出 版 物:《ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY》 (美国计算机学会软件工程与方法论汇刊)

年 卷 期:2023年第32卷第3期

页      面:77-77页

核心收录:

学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

基  金:National Science Foundation [CCF-1719155] 

主  题:Computational notebooks end-user programming refactoring 

摘      要:Due to the exploratory nature of computational notebook development, a notebook can be extensively evolved even though it is small, potentially incurring substantial technical debt. Indeed, in interview studies notebook authors have attested to performing ongoing tidying and big cleanups. However, many notebook authors are not trained as software developers, and environments like JupyterLab possess few features to aid notebook maintenance. As software refactoring is traditionally a critical tool for reducing technical debt, we sought to better understand the unique and growing ecology of computational notebooks by investigating the refactoring of public Jupyter notebooks. We randomly selected 15,000 Jupyter notebooks hosted on GitHub and studied 200 with meaningful commit histories. We found that notebook authors do refactor, favoring a few basic classic refactorings as well as those involving the notebook cell construct. Those with a computing background refactored differently than others, but not more so. Exploration-focused notebooks had a unique refactoring profile compared to more exposition-focused notebooks. Authors more often refactored their code as they went along, rather than deferring maintenance to big cleanups. These findings point to refactoring being intrinsic to notebook development.

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分