「InfoQ」开发安全、高质量代码的 5 款顶级 Python 工具( 二 )


目前 , 大公司也在跟进 python 的静态类型检查 。 在 Guido van Rossum 任职期间 , Dropbox 用 Mypy 检查了 400 多万行代码 。 其他的 python 用户 , 比如 Instagram 也开始做静态类型检查 。
官网下载地址:http://mypy-lang.org/
月下载量:2487228
备选方案:pyre
全部集成到一起
这个例子中 , 我会用到 Travis-CI, 配置其他 CI 工具的过程与之类似相似 , 只是语法上会有差异 。 这里 , 我用一个简单、不安全且有问题的 flask 应用作为例子 。
app.py 文件如下:
Pipfile 如下:
最后在根目录下创建一个.travis.yml 文件 , 内容如下:
如果查看这里的构建 , 你会发现每个工具都标出错误或指出需修改的地方 。 那么 , 我们来做一些修正 , 如这个 PR 所示 , 构建就可以通过 。
将 Flask 升级到一个没有已知漏洞的版本
修复类型注释 , 禁用调试模式 , 规范格式
虽然这个例子只涉及一个 CI 平台 , 但其实和集成到其他大多数平台的方法都很相似 。
下面是一个总的评分表:
「InfoQ」开发安全、高质量代码的 5 款顶级 Python 工具
本文插图
【「InfoQ」开发安全、高质量代码的 5 款顶级 Python 工具】InfoQ Pro是 InfoQ 专为技术早期开拓者和乐于钻研的技术探险者打造的专业媒体服务平台 。


推荐阅读