中文

Jupyter 笔记本与传统脚本中 Python 代码的大规模比较

软件工程 2022-04-01 v1

摘要

近年来,Jupyter 笔记本在软件工程的多个领域(如数据科学、机器学习和计算机科学教育)中日益流行。其流行源于丰富的数据展示与可视化特性,但近期研究表明笔记本也存在诸多缺陷:大量代码克隆、低可复现性等。本文对 Jupyter 笔记本中的 Python 代码与传统 Python 脚本中的 Python 代码进行比较。我们从结构与风格两个视角对比代码。在分析的第一部分,我们报告了代码行数、函数使用以及各类复杂度度量的差异。在第二部分,我们展示了风格问题数量的差异,并详尽概述了所研究媒介中 15 个最频繁的风格问题。总体而言,我们表明笔记本的代码复杂度较低,但其代码可能比脚本中的更显纠缠。在风格方面,笔记本往往多出 1.4 倍的风格问题,但其中部分由笔记本特有编码习惯引起,应视为误报。通过本研究,我们希望为探讨应由笔记本专用工具解决的笔记本特有问题铺路,并提供在这方面有用的多种见解。

关键词

引用

@article{arxiv.2203.16718,
  title  = {A Large-Scale Comparison of Python Code in Jupyter Notebooks and Scripts},
  author = {Konstantin Grotov and Sergey Titov and Vladimir Sotnikov and Yaroslav Golubev and Timofey Bryksin},
  journal= {arXiv preprint arXiv:2203.16718},
  year   = {2022}
}

备注

12 pages, 3 figures