首页 » 网站建设 » sublimephp代码纠错技巧_新一代 Python 代码纠错对象Ruff凸起一个字快

sublimephp代码纠错技巧_新一代 Python 代码纠错对象Ruff凸起一个字快

访客 2024-12-09 0

扫一扫用手机浏览

文章目录 [+]

下面是几个常用的Python代码检讨工具:

Pylint:是一个盛行的Python代码检讨工具,用于检讨代码语法、风格和代码缺点等问题Pylint供应了丰富的插件和配置选项,方便开拓职员根据项目哀求进行定制和管理。
Flake8:是一个由Pint、Pyflakes和pep8三个库组成的Python代码检讨工具,它可以检讨语法缺点、代码风格和各种代码缺点等问题。
Flake8具有高度的可配置性和易用性,是很多Python开拓职员的首选。
Pyflakes: 是Python代码静态剖析工具,用于检测Python代码中的语法缺点和中未利用的变量和模块的问题,它也可以检讨Python模块的导入语句的精确性。
mypy:一个类型注释检讨器,用于检讨Python代码的类型注释,以保代码中的注释与实际利用的变量和函数相匹配。

以上是几个常用的Python代码检讨工具,它们帮助开拓职员快速创造和复代码中的缺点和漏洞,提高代码质量和可靠性。

sublimephp代码纠错技巧_新一代 Python 代码纠错对象Ruff凸起一个字快

但是最近又创造了一款开源的Python代码检讨工具,比较 Pylint、Flake8 检讨更迅速,兼容性更强。
它名为 Ruff,GitHub Star 已达 21K。

sublimephp代码纠错技巧_新一代 Python 代码纠错对象Ruff凸起一个字快
(图片来自网络侵删)
Ruff 简介

Ruff 是一个基于 Python 的代码检讨工具,它可以帮助我们在编写Python代码时创造潜在的问题并供应修复建议。

GitHub: https://github.com/astral-sh/ruff

该项目采取 Rust 编写,比 Python 的 Flake8 和 Black 快 10-100 倍,支持通过 pip 安装、内置 700+ 规则、兼容 Python 3.12、自动纠错等功能。

凡是能用 Rust 重写开拓的工具,结果就突出一个字“快”。
这也是它为什么快的紧张缘故原由。

Ruff 利用 Rust Python 的 AST 解析器,实现自己的 AST 遍历、visitor 抽象和 lint 规则逻辑。
它目标是比其他工具快几个数量级,同时供应代码检讨、autofix等一站式的办理方案。

Ruff 可以用来更换flake8(加上各种插件)、isort、pydocstyle、yesqa、eradicate、pyupgrade和 autoflake,所有这些都比任何单独的工具实行速率快几十或数百倍。
Ruff 超越了传统 linter 的职责,而是作为一种高等代码转换工具,能够升级类型注释、重写类定义、对import导入进行排序等等。

紧张功能特点

从Ruff官方先容,可以看到目前有以下特点:

支持 pyproject.toml兼容 Python 3.11超过 500 条内置规则,与 Flake8 内置的规则集近乎对等重新实现了数十个 Flake8 插件,如 flake8-bugbear、flake8-comprehensions 等支持自动修复,可自动纠正缺点(例如,删除未利用的导入)内置缓存,可避免重复剖析未变动的文件支持 VS Code、Pycharm、Neovim、Sublime Text、Emacs 等编辑器对 monorepo 友好,具有分层和级联配置

个中着重的一点是对规则的支持。
Ruff 借鉴了盛行的工具如 Flake8、autoflake、isort、pyupgrade、yesqa 等等,然后用 Rust 重新实现了超过 500 条规则。
它本身不支持插件,但是接管了数十个常用的 Flake8 插件的设计,使得已席卷的规则范围比其它任何工具都大。
例如实现了部分flake8的插件。

安装和利用

Ruff在安装上也是非常大略,可以像其他第三方Python包一样通过pip安装,只需按照以下步骤进行操作:

pip install ruff

安装完成后,Windows会在Python版本Scripts目录下天生一个ruff.exe的可实行文件;MacOS会在Python版本bin目录下天生一个ruff的可实行文件。

实行检讨命令

1、针对指定文件扫描

ruff check path/file.py

2、利用通配符进行扫描

ruff check path/.py

3、还可以在watch监控模式下运行 Ruff,当文件改变时自动实行:

ruff path/ --watch

4、按照不同的目录和文件实行检讨

ruff check . # 剖析当前及子目录内的所有文件ruff check path/to/code/ # 剖析指定目录及子目录内的所有文件ruff check path/to/code/.py # 剖析指定目录内的所有py文件ruff check path/to/code/to/file.py # 剖析 file.py

5、还可以和 pre-commit 一起事情:

- repo: https://github.com/charliermarsh/ruff-pre-commit # Ruff version. rev: 'v0.0.261' hooks: - id: ruff

终极,Ruff将天生一个报告文件,个中包含了检讨结果和问题的详细信息。
我们可以根据报告中的建议来修复代码中的问题。

总结

Ruff 可以在代码质量、代码规范、团队协作、持续集成等多种场景下运用。
而且还有官方供应的VS Code的插件,非常方便实用。
但是目前还没有发布Pycharm的插件。

标签:

相关文章