选自fast.ai
作者:Jeremy Howard
机器之心编译
参与:魔王、蛋酱
不久前,fast.ai 创始研究员 Jeremy Howard 撰文介绍了 fast.ai 最近提出的新型编程环境 nbdev,它基于 Jupyter Notebook 构建,并将 IDE 编辑器的优点带入 Jupyter Notebook,可以在 Notebooks 中开发而不影响整个项目生命周期。
nbdev GitHub 地址:https://github.com/fastai/nbdev/
nbdev 文档:https://nbdev.fast.ai/
「我认为,nbdev 是编程环境的一项巨大进步。 」——Swift、LLVM 以及 Swift Playgrounds 创造者 Chris Lattner
遵循最佳实践自动创建 Python 模块,如利用导出函数、类和变量自动定义 __all__;
在标准文本编辑器或 IDE 中执行代码导航和编辑,并将所有更改自动导出回 notebook 中;
基于代码自动创建可搜索的超链接文档,引号中的任意单词均被超链接至合适的文档,文档站点的侧边栏可链接至每个模块等等;
pip 安装包(上传到 PyPI);
测试(在 notebook 中直接定义,可并行运行);
持续集成;
版本控制和冲突处理。
创建模块化可重用代码,这些代码可在 Jupyter 外部运行;
创建可搜索超链接文档;
测试代码(包括通过持续集成实现的自动化代码测试);
代码导航;
版本控制。