中文

ReSplit:通过重新拆分单元格改进Jupyter笔记本的结构

软件工程 2022-01-03 v1

摘要

Jupyter笔记本代表了一种独特的编程格式——代码与具有丰富格式的Markdown相结合,并分隔为独立的单元格。我们提议将Jupyter笔记本单元格视为编程函数的简化且原始的形式。与函数类似,Jupyter单元格应力求包含单一的、自包含的操作。与此同时,研究表明现实世界中的笔记本未能做到这一点,并苦于缺乏恰当的结构。为此,我们提出ReSplit,一种用于Jupyter笔记本单元格自动重新拆分的算法。该算法分析笔记本中的定义-使用链,由两部分组成——合并与拆分单元格。我们在一个大型笔记本语料库上运行该算法以评估其性能及其对笔记本的整体影响,并通过人类专家进行评估:我们向他们展示了若干笔记本的原始形式与重新拆分形式。在29.5%的情况下,重新拆分的笔记本被选为感知代码的首选方式。我们分析了影响该决策的因素,并详细描述了若干具体案例。

关键词

引用

@article{arxiv.2112.14825,
  title  = {ReSplit: Improving the Structure of Jupyter Notebooks by Re-Splitting Their Cells},
  author = {Sergey Titov and Yaroslav Golubev and Timofey Bryksin},
  journal= {arXiv preprint arXiv:2112.14825},
  year   = {2022}
}

备注

5 pages, 2 figures