AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

使用Ruff改善Python編程風格

來源: 責編: 時間:2023-12-04 09:19:50 268觀看
導讀譯者 | 布加迪審校 | 重樓Ruff簡介Ruff是一個用Rust編寫的運行速度極快的Python代碼檢查器和格式化器,旨在取代和改進Flake8、Black和isort等現有工具。它將性能提升了10倍至100倍,同時通過700多個內置規則和重新實現的

譯者 | 布加迪lj728資訊網——每日最新資訊28at.com

審校 | 重樓lj728資訊網——每日最新資訊28at.com

Ruff簡介

lj728資訊網——每日最新資訊28at.com

Ruff是一個用Rust編寫的運行速度極快的Python代碼檢查器和格式化器,旨在取代和改Flake8Blackisort等現有工具它將性能提升了10倍至100倍,同時通過700多個內置規則和重新實現的流行插件保持奇偶校驗。lj728資訊網——每日最新資訊28at.com

圖1.從頭開始檢查CPython代碼庫圖1.從頭開始檢查CPython代碼庫lj728資訊網——每日最新資訊28at.com

RuffPython 3.12兼容,支持現代 Python。它還提供自動修復支持、緩存和編輯器集成。Ruff一代碼庫友好,用于PandasFastAPI各大開源項目由于集速度、功能和可用性于一體Ruff代碼檢查、格式化和自動修復集成到統一的工具中,速度比現有的工具快幾個數量級。lj728資訊網——每日最新資訊28at.com

Ruff入門

我們可以使用PIP輕松安裝Rufflj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

pip install ruff

為了測試Ruff運行起來有多容易多快速,我們可以使用DagHub存儲庫kingabzpro/Yoga-Pose-Classification。您可以克隆它,也可以使用自己的項目進行格式化。lj728資訊網——每日最新資訊28at.com

圖2. 項目結構圖2. 項目結構lj728資訊網——每日最新資訊28at.com

首先,我們將對項目運行代碼檢查。您也可以單個文件運行代碼檢查,只需把“.”換成文件位置。lj728資訊網——每日最新資訊28at.com

ruff check .

lj728資訊網——每日最新資訊28at.com

Ruff已經確定了9個錯誤和1個可修復的錯誤。為了修復這個錯誤,我們將使用--fix標志。lj728資訊網——每日最新資訊28at.com

ruff check --fix

正如您所,它修復了1個可修復的錯誤。lj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

要格式化項目,我們可以使用ruff format命令。lj728資訊網——每日最新資訊28at.com

$ ruff format .>>> 3 files reformatted

Ruff代碼檢查器和格式化器對代碼進行了大量更改。但是我們為什么需要這些工具答案很簡單——它們有利于執行編碼標準和約定。因此,您和您的團隊可以專注于代碼的重要方面。此外,它們有助于提高代碼的質量、可維護性和安全性。lj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

檢查和格式化Jupyter Notebooks

要在項目中使用Ruff for Jupyter Notebooks,您必須創建“ruff.toml”文件,并添加以下代碼lj728資訊網——每日最新資訊28at.com

extend-include = ["*.ipynb"]

您還可以對pyproject .toml”執行相同的操lj728資訊網——每日最新資訊28at.com

之后,重新運行命令,看看它是否對Jupyter notebook文件進行了更改。lj728資訊網——每日最新資訊28at.com

2個文件被重新格式化,我們有2個Notebook文件lj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

$ ruff format .>>> 2 files reformatted, 3 files left unchanged

我們還通過再次運行check命令修復這些文件中的問題。lj728資訊網——每日最新資訊28at.com

$ ruff check --fix .>>> Found 51 errors (6 fixed, 45 remaining).

最后的結果是驚人的。它在不破壞代碼的情況下進行了所有必要的更改。lj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

Ruff配置

很容易為Jupyter Notebooks配置Ruff,只需編輯“ruff.toml”文件來調整代碼檢查器和格式化器設置。請查看配置Ruff文檔以了解更多詳細信息。lj728資訊網——每日最新資訊28at.com

target-version = "py311"extend-include = ["*.ipynb"]line-length = 80[lint]extend-select = [ "UP", # pyupgrade "D", # pydocstyle][lint.pydocstyle]convention = "google"

GitHub Action和預提交鉤子

發人員和團隊可以通過“ruff -pre-commit將Ruff用作預提交鉤子lj728資訊網——每日最新資訊28at.com

- repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.1.5 hooks: # Run the linter. - id: ruff args: [ --fix ] # Run the formatter. - id: ruff-format

它還可以通過“ruff-action”用作GitHub Actionlj728資訊網——每日最新資訊28at.com

name: Ruffon: [ push, pull_request ]jobs: ruff: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: chartboost/ruff-action@v1

Ruff VSCode擴展

Ruff最討人喜歡的方面是VSCode擴展。它簡化了格式化和代碼檢查,因而不需要第三方擴展。只需在擴展市場上搜索Ruff即可安裝它。lj728資訊網——每日最新資訊28at.com

lj728資訊網——每日最新資訊28at.com

我已經配置了“setting.json”,以便在保存時格式化。lj728資訊網——每日最新資訊28at.com

結語

Ruff提供了速度飛快代碼檢查和格式化,使Python代碼更干凈、更一致。Ruff從Flake8、isort和pyupgrade等流行工具中汲取靈感,通過Rust重新實現700多個內置規則來提高性能,從而實現了一套全面的編碼最佳實踐。精挑細選的規則集專注于捕捉錯誤和關鍵的風格問題,又不過度挑剔。lj728資訊網——每日最新資訊28at.com

與預提交鉤子、GitHub Actions和VSCode等編輯器無縫集成使用戶可以將Ruff輕松整合到現代Python工作流中。無與倫比的速度和精心設計的規則集使Ruff成為重視快速反饋、干凈代碼和團隊順暢協作的Python開發人員的必備工具。Ruff通過將強大的功能與出色的性能相結合,為Python代碼檢查和格式化設了新的標準。lj728資訊網——每日最新資訊28at.com

原文標題:Enhance Your Python Coding Style with Ruff,作者:Abid Ali Awanlj728資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-37242-0.html使用Ruff改善Python編程風格

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Spring Bean 命名各種方式,看這一篇就夠了

下一篇: 深入理解Go標準庫-http server的優雅關閉

標簽:
  • 熱門焦點
Top