极客视点
极客时间编辑部
极客时间编辑部
113243 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/03:34
登录|注册

开发安全、高质量代码的5款顶级Python工具

讲述:丁婵大小:4.90M时长:03:34
为提高代码的质量、安全性和可维护性,软件工程师每天会用到无数工具。最近,InfoQ 中文站编译了工程师安德鲁·斯科特(Andrew Scott)的一篇文章。斯科特在文中列出了 5 款 Python 工具,并从易用性(是否易于安装、运行和自动化)、质量影响(能否阻止可预见的 Bug)、可维护性影响(是否让工作更轻松)和安全性影响(能否发现并阻止安全性问题)等方面对它们进行了打分,具体内容如下。

1. Pipenv

它是为 Python 设计的开发管理和依赖管理的工具,最早由 Requests 的作者肯尼斯·雷茨(Kenneth Reitz)编写。
如果你用 Python 做过一段时间的开发,那么对于管理环境,你可能用过 virtualenv venv ,依赖管理可能用过较可靠的 requirements.txt。
大多数情况下,这完全没问题。但是,相较而言,Pipenv 更方便,且很强大,加上它通过 Pipfile 和 Pipfile.lock 近乎去掉固定依赖的做法,很大程度上替代了 requirements.txt,从而带来更可靠的部署。
不过,Pipenv 的未来堪忧,因为 Python 基金会已搁置对 Pip 的改进。而且,Pipenv 在 2019 年缺乏实质性进展。

2. Ochrona

这是一款依赖分析和软件组成分析的工具,它可以用来检查你的开源依赖是否存在已知漏洞。在这个领域,另一款很流行的开源工具是 Safety 。而前者更好的地方在于:
无论是用于开源项目还是商业项目,它都提供免费方案,而且免费方案始终跟进最新的漏洞信息。
磁盘和 IO 应用非常少。不同于需要拉取整个漏洞数据库的本地工具,它是 SaaS 模式,只需调用一次公开的 API。
它提供优秀的漏洞数据并且每天更新,并比其他工具提供更多的漏洞详细信息。

3. Bandit

如果必须推荐一个可提高 Python 项目安全性的工具,那就是 Bandit 。
据悉,Bandit 出自 OpenStack,但现在由 PyCQA 维护。它是一款开源的静态应用安全测试( SAST)工具,免费、可配置且快速。从某些方面来讲,它就像是关注安全领域的 linter。
Bandit 很适合用来发现问题,比如不安全的配置、已知的不安全模块使用情况等。

4. Black

Black 是一款独特的代码格式化工具。它能自动将你的代码更改为 Black 样式(一个 Pep-8 的超集)。
传统的 linter 通常需要你把代码改为合规代码,而 Black 可以节省不少时间。并且,Black 只需有限的配置,这意味着你如果用过 Black,再用其他任何项目你都会觉得眼熟。

5. Mypy

它是 Python 一个可选的静态类型检查器。当 PEP 484 引入 Python 的类型提示,Mypy 会利用这些类型提示对项目进行静态类型检查。
Python 依然有动态的 Duck 类型,不过,添加静态类型检查能帮你减少测试和调试时间,更早发现错误。
以上就是今天的内容,你用过哪些不错的 Python 工具呢?欢迎推荐。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 小斧
    Python 也是越来越火啦。😃
    2
  • 忘了微积分的猫
    pipenv死掉了,用poetry吧
    1
  • 乔帮主
    大数据分析必备。
  • Geek_d02923
    python 很棒
  • 我怀念的
    其他的语言也推荐就好了
  • *.小涛
    工欲善其事必先利其器
  • lidianjin
    谢谢分享!
  • Geek_David
    Python 用得越来越广泛,工具也越来越多,多接触一些还是不错的,提高效率的事情要多做
  • yzpower
    python 很赞
  • 四道杠的红领巾
    nice的想法,能有其它语言的工具就更好了
收起评论
大纲
固定大纲
1. Pipenv
2. Ochrona
3. Bandit
4. Black
5. Mypy
显示
设置
留言
11
收藏
82
沉浸
阅读
分享
手机端
快捷键
回顶部