2019 Python 计算生态八月推荐榜
19年8月10日 · 计算生态推荐榜 7310 人阅读
看见更大的世界,遇见更好的自己
See a better world to meet better for ourselves.
静态代码分析是在不运行计算机程序的条件下,进行程序分析的方法。它主要对源码进行分析,标注语法错误,进行类型检查和风格检查等。能够有效的验证代码质量,快速发现错误,从而解放程序员生产力,极大提高开发效率。在这个效率至上的年代,程序员简直就是效率的代名词,如何不“辱没”效率的名声,是值得程序员们终身思考的问题。幸运的是,Python生态中有着丰富的代码分析工具,在追寻代码效率的道路上,程序员们定会百尺竿头,更上一步。
2019年8月,正值奋斗的季节,笔者快意敲击键盘,看着一行行涌现的代码,心中不免豪情万丈,不料一个缩进拦住了英雄好汉。痛定思痛,因此特别推荐10款优秀的Python计算生态,帮助大家顺利度过静态检查,通向安全健壮优美的代码之路。
coala
coala是一个语言无关,易于扩展的代码分析工具。它提供了一个统一的接口,无论使用哪种编程语言,都可以使用一个配置文件来分析和修复代码。你可以在最喜欢的编辑器中使用coala,将其集成到你的CI中,以JSON的形式获得结果,或者使用其灵活的配置语法根据需要定制它。
项目主页:https://github.com/coala/coala/
pycodestyle
Pycodestyle是一个简易的Python样式检查器。它根据PEP 8中的一些约定样式检查Python代码。曾经叫做pep8,为了减少歧义改名为pycodestyle。
项目主页:https://github.com/PyCQA/pycodestyle
pydocstyle
Pydocstyle是一个静态分析工具,用于检查文档是否符合Python docstring约定。pydocstyle支持大多数的PEP257,但不应将其视为参考实现。它支持Python 3.4 3.5 和3.7。
项目主页:https://github.com/PyCQA/pydocstyle
pylint
Pylint是一个Python静态代码分析工具,它可以查找编程错误,帮助执行编码标准,并提供简单的重构建议。它是高度可配置的,具有特殊的实用程序来控制代码中的错误和警告,以及广泛的配置文件中的警告。也可以编写自己的插件来添加自己的检查或以某种方式扩展pylint。
pyright
Pyright是一个Python静态类型检查器,用于解决现有工具(如mypy)中的空白。它是一种针对大型Python源库的快速类型检查器,可以在“watch”模式下运行,并在修改文件时执行快速增量更新。
项目主页:https://github.com/Microsoft/pyright
black
Black是Python代码格式化工具。通过使用它,用户同意放弃对手工格式化细节的控制。作为回报,black提供了速度、决策以及摆脱pycodestyle对格式的纠缠,你会为更重要的事情节省时间和精力。
项目主页:https://github.com/psf/black
yapf
Yapf是来自Google的代码格式化程序。它是基于“clang-format”,由Daniel Jasper开发。从本质上讲,该算法获取代码并将其重新格式化为符合样式指南的最佳格式,即使原始代码没有违反样式指南。最终的目标是,YAPF生成的代码与程序员按照样式指南编写的代码一样好。
项目主页:https://github.com/google/yapf
mypy
Mypy是Python的一个可选静态类型检查器。你可以向Python程序中添加类型提示,并使用mypy静态的进行类型检查,甚至不用运行程序就能发现程序中的bug。
项目主页:https://github.com/python/mypy
pyre-check
Pyre是一个针对大型Python 3代码库的快速、可伸缩的类型检查器,旨在通过在终端或喜欢的编辑器中交互式地标记类型错误来帮助提高代码质量和开发速度。
项目主页:https://github.com/facebook/pyre-check
jedi
Jedi是Python的静态分析工具,可在IDE/编辑器中使用,专注于自动完成和goto功能。速度很快而且久经测试,它对Python和静态方式都有很深的理解。使用非常简单的API连接IDE,有一个作为vim插件的参考实现。
Python3Turtle