开发安全、高质量代码的5款顶级Python工具
极客时间编辑部
讲述:丁婵大小:4.90M时长:03:34
来源:InfoQ 中文站
为提高代码的质量、安全性和可维护性,软件工程师每天会用到无数工具。最近,InfoQ 中文站编译了工程师安德鲁·斯科特(Andrew Scott)的一篇文章。斯科特在文中列出了 5 款 Python 工具,并从易用性(是否易于安装、运行和自动化)、质量影响(能否阻止可预见的 Bug)、可维护性影响(是否让工作更轻松)和安全性影响(能否发现并阻止安全性问题)等方面对它们进行了打分,具体内容如下。
1. Pipenv
大多数情况下,这完全没问题。但是,相较而言,Pipenv 更方便,且很强大,加上它通过 Pipfile 和 Pipfile.lock 近乎去掉固定依赖的做法,很大程度上替代了 requirements.txt,从而带来更可靠的部署。
不过,Pipenv 的未来堪忧,因为 Python 基金会已搁置对 Pip 的改进。而且,Pipenv 在 2019 年缺乏实质性进展。
2. Ochrona
无论是用于开源项目还是商业项目,它都提供免费方案,而且免费方案始终跟进最新的漏洞信息。
磁盘和 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_d02923python 很棒
- 我怀念的其他的语言也推荐就好了
- *.小涛工欲善其事必先利其器
- lidianjin谢谢分享!
- Geek_DavidPython 用得越来越广泛,工具也越来越多,多接触一些还是不错的,提高效率的事情要多做
- yzpowerpython 很赞
- 四道杠的红领巾nice的想法,能有其它语言的工具就更好了
收起评论