ufmt: 安全的原子格式化工具

ufmt: 安全的原子格式化工具

ufmta smaller, faster and panic-free alternative to core::fmt项目地址:https://gitcode.com/gh_mirrors/uf/ufmt

项目介绍

ufmt 是一个Python库,专注于安全地进行原子格式化,集成了广受欢迎的代码风格工具 black 和导入排序工具 usort。它设计用于自动化代码格式化过程,确保在团队协作中保持一致的代码风格,特别是在持续集成(CI)流程中。ufmt支持Python 3.8及更高版本,提供了一键式解决方案来格式化或验证Python源文件,避免了因格式化冲突导致的问题。

项目快速启动

要开始使用ufmt,首先需安装它。通过pip执行以下命令即可:

pip install ufmt

格式化代码

对单个或多个文件或目录进行即时格式化,可以使用以下命令:

ufmt format 路径/到/你的/文件.py

或者,如果你想一次性处理整个项目:

ufmt format .

验证格式是否正确

在CI工作流中,验证代码是否已按预期格式化,可以运行:

ufmt check 路径/到/你的/文件.py

查看差异预览

在应用变更前查看格式化的差异,使用:

ufmt diff 路径/到/你的/文件.py

应用案例和最佳实践

  • CI集成: 在GitHub Actions中集成ufmt以自动格式化Pull Request,确保代码审查时的一致性。

    jobs:
      ufmt:
        runs-on: ubuntu-latest
        steps:
          - uses: omnilib/ufmt@action-v1
            with:
              path: <你的项目路径>
    
  • Pre-commit Hook: 添加至本地Git配置,保证每次提交前代码已被格式化。 在.pre-commit-config.yaml添加:

    - repo: https://github.com/omnilib/ufmt
      rev: v2.0.0
      hooks:
        - id: ufmt
          additional_dependencies: ["black==22.6.0", "usort==1.0.4"]
    
  • Visual Studio Code: 使用ufmt作为默认格式化程序,设置编辑器偏好:

    "[python]": {
        "editor.defaultFormatter": "omnilib.ufmt",
        "editor.formatOnSave": true
    }
    

典型生态项目

ufmt自身便是Python生态系统中的一个重要工具,但其紧密集成的工具如blackusort也是生态的一部分。此外,通过GitHub Actions、pre-commit框架和VS Code插件的支持,ufmt强化了与这些生态项目的关联。开发者可以结合这些生态项目,构建起一套高效的代码质量和一致性保障系统,比如利用pre-commit来管理多个代码检查和格式化工具,包括ufmt。

通过这样的整合,开发团队能够实现代码风格的统一管理,提升代码审查效率,减少人为错误,加强代码质量,使项目更加健壮。

ufmta smaller, faster and panic-free alternative to core::fmt项目地址:https://gitcode.com/gh_mirrors/uf/ufmt

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧微言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值