日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

使用Ruff改善Python編程風格

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

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

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

Ruff簡介

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

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

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

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

Ruff入門

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

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

pip install ruff

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

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

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

ruff check .

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

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

ruff check --fix

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

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

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

$ ruff format .>>> 3 files reformatted

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

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

檢查和格式化Jupyter Notebooks

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

extend-include = ["*.ipynb"]

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

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

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

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

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

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

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

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

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

Ruff配置

很容易為Jupyter Notebooks配置Ruff,只需編輯“ruff.toml”文件來調整代碼檢查器和格式化器設置。請查看配置Ruff文檔以了解更多詳細信息。lPI28資訊網——每日最新資訊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用作預提交鉤子lPI28資訊網——每日最新資訊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 ActionlPI28資訊網——每日最新資訊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即可安裝它。lPI28資訊網——每日最新資訊28at.com

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

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

結語

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 万州区| 石家庄市| 璧山县| 三河市| 玛纳斯县| 通海县| 宁波市| 余江县| 鄄城县| 义马市| 大洼县| 延寿县| 巴里| 无极县| 扬州市| 礼泉县| 醴陵市| 托克托县| 从江县| 莱芜市| 昌宁县| 湟中县| 兴和县| 陆丰市| 仪征市| 青冈县| 灵宝市| 蒙城县| 德安县| 庆云县| 沭阳县| 依兰县| 水富县| 岳阳市| 获嘉县| 上饶市| 宁武县| 澄迈县| 阜阳市| 龙胜| 黄梅县|