加入收藏 | 设为首页 | 会员中心 | 我要投稿 长春站长网 (https://www.0431zz.com.cn/)- 媒体智能、开发者工具、运维、低代码、办公协同!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

青出于蓝而胜于蓝

发布时间:2021-03-04 15:16:20 所属栏目:外闻 来源:互联网
导读:dev:探索式编程 我们认为探索流程是有价值的,应该保存下来,以便其他程序员(或自己)在六个月时间之内能够看到发生了什么并通过示例学习。把它看作科学期刊,你可以利用它展示自己尝试了什么东西(包括奏效的和无效的),和为了增强对工作系统的理解付出

dev:探索式编程

我们认为探索流程是有价值的,应该保存下来,以便其他程序员(或自己)在六个月时间之内能够看到发生了什么并通过示例学习。把它看作科学期刊,你可以利用它展示自己尝试了什么东西(包括奏效的和无效的),和为了增强对工作系统的理解付出的努力。在探索过程中,你会发现你理解到的某些部分对于系统运行非常关键,所以探索应包含测试和断言(tests and assertions)。

当你基于 prompt(或 REPL)开发,或者使用 notebook-oriented 开发系统(如 Jupyter Notebook)开发时,「探索」是最简单的。但这些系统的「编程」部分没有那么强大。这也是人们主要使用这类系统执行早期探索,然后转向 IDE 或文本编辑器的原因。

转而使用其他系统是为了获得 notebook 或 REPL 不具备的功能,比如:优秀的文档查找功能、优秀的语法高亮功能、集成单元测试,以及(关键的)生成最终可分发源代码文件的能力。

nbdev 将 IDE/编辑器开发的优势带入 notebook 系统中,以便用户在 notebook 中完成开发,且不会影响整个项目生命周期。为支持此类探索,nbdev 基于 Jupyter Notebook 构建(这意味着,相比普通编辑器或 IDE,nbdev 能够更好地支持 Python 的动态特性),并针对软件开发添加了以下重要工具:

  • 遵循最佳实践自动创建 Python 模块,如利用导出函数、类和变量自动定义 __all__;
  • 在标准文本编辑器或 IDE 中执行代码导航和编辑,并将所有更改自动导出回 notebook 中;
  • 基于代码自动创建可搜索的超链接文档,引号中的任意单词均被超链接至合适的文档,文档站点的侧边栏可链接至每个模块等等;
  • pip 安装包(上传到 PyPI);
  • 测试(在 notebook 中直接定义,可并行运行);
  • 持续集成;
  • 版本控制和冲突处理。

(编辑:长春站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读